2013年2月8日 星期五

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字元


  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

  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-



節錄自:
http://jarkin.blogspot.tw/search/label/Shell%20Scritp

沒有留言:

張貼留言