awk
输出
// 打印所有列
$ awk '{print $0}' file
// 打印第一列
$ awk '{print $1}' file
// 打印第一和第三列
$ awk '{print $1, $3}' file
// 打印第三列和第一列,注意先后顺序
$ cat file | awk '{print $3, $1}'
// 打印第三列和最后一列
$ cat file | awk '{print $3, $NF}'
// 打印第二列开始到最后一列
$ cat file | awk -F " " '{for (i=2;i<=NF;i++)printf("%s ", $i);print ""}'
// 举例,打印dir路径
$ echo "111/222/333/query" | awk -F '/' '{for (i=1;i<NF;i++)printf("%s/", $i);print ""}'
111/222/333/
分割
- 提取以xxx分割的项
$ head sample_data.txt | awk -F "xxx" '{print $2}'
举例,sample_data
...\"title\": \"梦见吃鱼\", ...
$ cat sample_data | awk -F 'title\\\\\": \\\\\"' '{print $2}' | awk -F '\\\\\"' '{print $1}'
梦见吃鱼
- 提取第三列数据中包含"黄鹤楼"的项
$ cat smoke | awk -F '\t' '{if($3~"黄鹤楼") {print $0}}'
截断
- 删除字符串的最后一个字符
$ awk '{print substr($0, 1, length($0) - 1)}' file.txt
写在最后:若本文章对您有帮助,请点个赞啦 ٩(๑•̀ω•́๑)۶