1、已知如下命令結果:
[root@www ~]# echo "I am oldboy myqq is 48939492" >>oldboy.txt
[root@www ~]# cat oldboy.txt
I am oldboy myqq is 48939492
現在需要從文件中過濾“oldboy”和“48939492”字符串
解答:
方法1:
[root@www ~]# awk -F " " '{print $3,$6}' oldboy.txt -->F:指定分隔符 oldboy 48939492
方法2:
[root@www ~]# cut -d" " -f3,6 oldboy.txt -->-d選項是:指定分隔符 oldboy 48939492
方法3:
[root@www ~]# cut -c 6-11,20- oldboy.txt -->使用cut的-c選項過濾出來,根據字符數匹配。 oldboy 48939492
方法4:
[root@www ~]# echo `grep -oE "oldboy|48939492" oldboy.txt` -->-E:代表使用擴展正則表達式 oldboy 48939492
或者:
[root@www ~]# echo `egrep -o "oldboy|48939492" oldboy.txt` -->grep -E等於 egrep oldboy 48939492
方法5:
[root@www ~]# sed -r 's#.*(oldboy).*(48939492)#\1 \2#g' oldboy.txt -->使用sed後相引用,-r代表使用擴展正則表達式 oldboy 48939492 或者: [root@www ~]# sed 's#.*\(oldboy\).*\(48939492\)#\1 \2#g' oldboy.txt oldboy 48939492
2、已知如下命令結果:
[root@www ~]# cat oldboy.txt
I am oldboy,myqq is 48939492
現在需要從文件中過濾“oldboy”和“48939492”字符串
解答:
方法1:
[root@www ~]# cut -c 6-11,20- oldboy.txt oldboy 48939492
方法2:
[root@www ~]# sed 's#,# #g' oldboy.txt|cut -d " " -f3,6 oldboy 48939492
方法3:
[root@www ~]# awk -F "[ ,]" '{print $3,$6}' oldboy.txt -->這裏使用多個分隔符 oldboy 48939492
方法4:
[root@www ~]# echo `grep -oE "oldboy|48939492" oldboy.txt` oldboy 48939492 或者: [root@www ~]# echo `egrep -o "oldboy|48939492" oldboy.txt` oldboy 48939492
方法5:
[root@www ~]# sed 's#.*\(oldboy\).*\(48939492\)#\1 \2#g' oldboy.txt oldboy 48939492 或者: [root@www ~]# sed -r 's#.*(oldboy).*(48939492)#\1 \2#g' oldboy.txt oldboy 48939492