如何使用Shell awk命令?

Bash

1 前言

一个问题,一篇文章,一出故事。
笔者编写Linux Shell脚本时经常用到awk命令,于是想收集他的用法,于是整理本章。

2 最佳实践

2.1 按指定列打印

echo './ftp1/abc/efg.txt' | awk  -F '/'  '{print $1"/"$2"/"$3"/"$4}'

2.2 去掉最前列打印

cat /tmp/ftplist | awk -F'/' '{$1="";OFS="/";print}'

2.3 打印最后列

echo './ftp1/abc/efg.txt' | awk -F '/' '{print $NF}'

以上命令等价于以下命令,

echo './ftp1/abc/efg.txt' | awk -F '/'  '{print $(NF-0)}'

2.4 打印倒数第2列

echo './ftp1/abc/efg.txt' | awk -F '/'  '{print $(NF-1)}'

2.5 去掉最后列打印

echo './ftp1/abc/efg.txt' | awk -F'/' '{NF-=1;OFS="/";print}'

2.6 去掉前后列打印

echo './ftp1/abc/efg.txt' | awk -F'/' '{$1="";NF-=1;OFS="/";print}'
没有评论

发表回复

Bash
如何快速修改多个nginx配置?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要快速地修改一堆nginx的配置文件,详细的需求 …

Bash
如何熟悉Linux Shell sed命令?

1 前言 一个问题,一篇文章,一出故事。 笔者写Shell经常需要使用sed命令,然而很多用法经常忘 …

Bash
如何Linux Shell截取日志文件?

1 前言 一个问题,一篇文章,一出故事。 笔者最近使用Linux Shell截取日志文件。 由于有的 …