關於awk、sed、cut、head、tail、gawk

cat data.txt | tail -n 20        //顯示文件最後20行
cat data.txt | head -n 20        //顯示文件前面20行
cat data.txt | head -n 500 | tail -n +100    //顯示100行到500行
cat 1111.txt | head -n 3 | tail -n +3 | awk 'sub($1,"")'        //先顯示第3行,再顯示非第一列
awk -F ":" '{print $1, $3}'                 //以“:”爲分隔符分割列,然後打印第一列和第三列
sed = data.txt | sed 'N;s/\n/\t/' > test.txt
awk '$0=NR". "$0' data.txt | > test.txt

說明:給data.txt每一行添加行號,並將修改後的內容重定向到test.txt文件中
拓展:指令 > : 如果文件存在,將原來文件的內容覆蓋;文件不存在則創建文件,再添加信息。
         指令 >>:不會覆蓋原文件內容,將內容追加到文件的尾部
注意:處理結果不能重定向覆蓋到原文件,否則原文件會爲空

 

head -n 5 data.txt | awk  '{print $6}' | awk  'NR == 1{print}'

說明:顯示文件的前5行的第6列的第一行
注意:awk後要跟一個空格

 sed -i 's/\r$//' build.sh

說明:在windos下編輯的時候,換行結尾是\n\r , 而在linux下 是\n,所以纔會有 多出來的\r,這條指令會把 build.sh 中的\r 替換成空白!
            本例中sed編輯器使用了s命令,s命令會用斜線間指定的第二個文本字符串來替換第一個文本字符串

 awk -F '[' '{print "["$2,"["$3}' session1.txt             //以“[”作爲分隔符,顯示第二列和第三列,並在該列顯示結果前加一個“[”符
cat session1.txt | awk -F '[' '{if($4=="ERROR]" || $4=="WARNING]")print $0}'       //以“[”作爲分隔符,當第四列值爲"ERROR]"或"WARNING]"時,打印該行


說明:awk默認是以空格作爲分隔符,可通過-F選項指定分隔符
注意:分隔符兩邊的單引號也可以去掉,如awk -F [ '{print "["$2,"["$3}' session1.txt
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章