【神奇命令awk的切割取列】

 

 

 

 

 

[标签]: Linux三剑客之awk    awk命令用法    从一行中取出你想要的列

 

 

问题详情的描述或方案目标的预期:

描述:awk是每一个运维必须掌握的强大命令,sed批量更新,grep快速搜索内容,awk切割取列。awk + grep + 正则可以让你精确得到文本中你想要的任意内容。

 

 

 

【解决方案】

 

整体思路:

用得多了就不需要刻意去记,用得少了记住了也会忘,重点在于日常工作要喜欢上并坚持用更好的方法

  

  

1. awk '{print$(NF-1)}' 只列出倒数第二列 ; awk '{print$NF}' 取出最后一列

2. awk '{print $0}' 打印整行内容

  

3. awk '{print FNR}' FNR表示当前处理的文件行行号

4. awk '{print FNR" "$0}' readme.txt ; FNR表示当前处理的文件行行号,$0表示当前处理的文件行内容

  

5. awk '{print length($0)" "$0}' 80access.log ;length($0)行内容的长度

6. awk '{print length($0)" "$0}' 80access.log | sort -nr -k1 ; 列出文本每一行长度,及内容,并按每行长度从长到短排序

  

7. awk '{for (i=2;i<=NF;i++)printf("%s ", $i);print ""}' ;列出第2列到最后一列

8. awk '{for(i=NF-5;i<=NF;++i) printf $i "\t";printf "\n"}' ./abc.txt ;列出倒数第6列到最后一列--列出最后6列

  

  

  

总结:迷茫的时候可用去做点好事,虽然你的迷茫很可能不是做坏事造成的。

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1