cut,sed,awk 字串處理
cut 教學:
cut -b 10- filename //刪除該列的前10個字元
cut -d(分界字元) filename //指定欄位的分界字元
sed 教學:
sed -e '3d' //刪除第3列
sed -e '2,5d' //刪除第2~5列
sed -e '4,$d' //刪除第4列,但第4列是最後一列;錢字號『 $ 』代表最後一行!
sed -e "/${var}/"d //在shell中,用變數代替
sed 's/^...//' //刪除該列的前3個字元
sed 's/...$//' //刪除該列的最後3個字元
sed '/Hello/d' dataf3 //刪除Hello該列
sed -i “s/\r//”FILENAME //刪除檔案中的^M字元
cut -d(分界字元) filename //指定欄位的分界字元
sed 教學:
sed -e '3d' //刪除第3列
sed -e '2,5d' //刪除第2~5列
sed -e '4,$d' //刪除第4列,但第4列是最後一列;錢字號『 $ 』代表最後一行!
sed -e "/${var}/"d //在shell中,用變數代替
sed 's/^...//' //刪除該列的前3個字元
sed 's/...$//' //刪除該列的最後3個字元
sed '/Hello/d' dataf3 //刪除Hello該列
sed -i “s/\r//”FILENAME //刪除檔案中的^M字元
sed 's/要被取代的字串/新的字串/g'
ex: sed 's/*//g' //將「*」符用空白字元取代
awk教學:
awk 'NR!=3 {print $0}' //刪除第3列
awk '!(NR>=2 && NR<=5){print $0}' //刪除第2~5列
綜合:
捉取第一列的「:」前的資料
awk 'NR==1' aaa.a | cut -f 1 -d :
捉取第一列的「:」前的資料並計算個數
awk 'NR==1' aaa.a | cut -f 1 -d : | wc -m
ex: sed 's/*//g' //將「*」符用空白字元取代
awk教學:
awk 'NR!=3 {print $0}' //刪除第3列
awk '!(NR>=2 && NR<=5){print $0}' //刪除第2~5列
綜合:
捉取第一列的「:」前的資料
awk 'NR==1' aaa.a | cut -f 1 -d :
捉取第一列的「:」前的資料並計算個數
awk 'NR==1' aaa.a | cut -f 1 -d : | wc -m
cat test.sh | awk -F = '/Sub 1/ {print NR}' //抓test.sh的Sub 1所在的列數
抓取Channel方法
iwconfig ra0 2>/dev/null | grep Channel | awk '{print $2}' | cut -b 9-
抓取Channel方法
iwconfig ra0 2>/dev/null | grep Channel | awk '{print $2}' | cut -b 9-
節錄自:
http://jarkin.blogspot.tw/search/label/Shell%20Scritp
留言
張貼留言