加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 如何用AWK选择一些列?

发布时间:2021-01-15 02:10:19 所属栏目:Linux 来源:网络整理
导读:我想在文件中选择一些列并在其上运行一些命令. 所以我的剧本就是这个 awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$19}' test.txt outpot.txt 但这打印到另一个文件,我试图这样做 awk '{print $1,$16}' test.txt | next commands (这个

我想在文件中选择一些列并在其上运行一些命令.
所以我的剧本就是这个

awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$19}' test.txt > outpot.txt

但这打印到另一个文件,我试图这样做

awk '{print $1,$16}' test.txt | next commands

(这个命令工作正常!我犯了一个错误,我不知道如何删除这个问题)

有没有可能让这个命令更短,而不是写所有列只写$1-7&& $9-15&& 19美元(但这并不重要,我只是想知道是否可能).最主要的是能够选择那些列

最佳答案 根据glennjackman’s建议更新:

awk '{for (i=1;i<=NF;i++) if ((1<=i && i<=7) || (9<=i && i<=15) || i==19) printf("%s ",$i); print ""}' file

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读