首页 > 系统相关 >Linux 中awk批量输出列

Linux 中awk批量输出列

时间:2024-02-10 23:44:51浏览次数:28  
标签:test1 批量 ## PC1 awk Linux txt root

 

001、方法1 双文件

[root@PC1 test1]# ls
a.txt  cols.list
[root@PC1 test1]# cat cols.list       ## 列
1
3
5
8
[root@PC1 test1]# cat a.txt          ## 测试文件
001 002 003 004 005 006 007 008 009 010
011 012 013 014 015 016 017 018 019 020
021 022 023 024 025 026 027 028 029 030
031 032 033 034 035 036 037 038 039 040
041 042 043 044 045 046 047 048 049 050
051 052 053 054 055 056 057 058 059 060
061 062 063 064 065 066 067 068 069 070
071 072 073 074 075 076 077 078 079 080
081 082 083 084 085 086 087 088 089 090
091 092 093 094 095 096 097 098 099 100                                                 ## 借助双文件批量提取列
[root@PC1 test1]# awk '{if(NR == FNR) {ay1[NR]=$1} else {for(i = 1; i <= length(ay1) - 1; i++){printf("%s ", $ay1[i])}; printf("%s\n", $ay1[length(ay1)])}}' cols.list a.txt
001 003 005 008
011 013 015 018
021 023 025 028
031 033 035 038
041 043 045 048
051 053 055 058
061 063 065 068
071 073 075 078
081 083 085 088
091 093 095 098

 

002、方法2 数组

[root@PC1 test1]# ls
a.txt
[root@PC1 test1]# cat a.txt                                    ## 测试文件
001 002 003 004 005 006 007 008 009 010
011 012 013 014 015 016 017 018 019 020
021 022 023 024 025 026 027 028 029 030
031 032 033 034 035 036 037 038 039 040
041 042 043 044 045 046 047 048 049 050
051 052 053 054 055 056 057 058 059 060
061 062 063 064 065 066 067 068 069 070
071 072 073 074 075 076 077 078 079 080
081 082 083 084 085 086 087 088 089 090
091 092 093 094 095 096 097 098 099 100
[root@PC1 test1]# str1="1 4 5 8"                              ## 借助数组批量提取列
[root@PC1 test1]# awk -v a="$str1" '{split(a, ay1, " "); for(i=1; i <= length(ay1)-1; i++) {printf("%s ",$ay1[i])}; printf("%s\n", $ay1[length(ay1)])}' a.txt
001 004 005 008
011 014 015 018
021 024 025 028
031 034 035 038
041 044 045 048
051 054 055 058
061 064 065 068
071 074 075 078
081 084 085 088
091 094 095 098

 。

 

标签:test1,批量,##,PC1,awk,Linux,txt,root
From: https://www.cnblogs.com/liujiaxin2018/p/18013111

相关文章

  • Linux 中 字符串 与shell数组的转换
     001、字符串转换为shell数组[root@PC1test1]#str1="aabb100200500"##生成测试字符串[root@PC1test1]#echo$str1aabb100200500[root@PC1test1]#ay1=($str1)##字符串转换为数组[root@PC1test1]#echo${ay1[0]}......
  • archlinux flutter开发踩坑
    archlinuxflutter开发踩坑archlinux是个好东西,但是开发flutter坑不少。2023年5月我配置了flutter,后来用得不多,23年11月还尝试过但是失败,最近又要使用,就来解决下。20230210今天需要写一个手机app,突然发现构建不出来了,报错>Failedtocreateparentdirectory'/opt/flutter......
  • Linux 中输出目录总的大小
     001、先看整体结构[root@PC1test1]#ls##测试文件及目录a.txttest001test002test003[root@PC1test1]#tree-h##查看结构和各个文件的大小.├──[59]a.txt├──[30]test001│  ├──[1000M]a......
  • Linux 中 单词锁定符号
     001、-w选项锁定[root@PC1test1]#lsa.txt[root@PC1test1]#cata.txt##测试文本3432dsab45cdf887abc3333377777sdffffabc8888dddkk22,kk33kwwwwsssuuuurabc[root@PC1test1]#grep-w"abc"a.txt##-w选项锁定单词abc333......
  • Linux
    Linux:CentOS7.9一、Linux发展历史  Unix->Minix->Linux  狭义的Linux:Linuxkernel(Linux内核)  广义的Linux:GNU/Linux  GNU是一个自由操作系统项目,其目标是创建一个完全自由的操作系统。GNU的全称是“GNU'sNotUnix”,意思是“GNU不是Unix”。它由理查德·斯托曼......
  • Linux 中 xargs 选项中-I将左侧变量传入{}
     001、[root@PC1test1]#ls##测试文件及目录a.txtb.txtc.csvtest[root@PC1test1]#tree##查看目录结构.├──a.txt├──b.txt├──c.csv└──test1directory,3files[root@PC1test1]#find*.txta.txtb.txt[root@PC1......
  • [Kyana]Linux内核开发记录
    01|修的内核bug如何推进发patch克隆最新代码,确定问题还存在新建本地分支,修改要修改的部分gitadd修改的文件gitcommit-scommit-log《标题》:修改的大类:简短的patch主要描述《空行》《详细描述》gitformat-patch-1(可以在三小短线下写点东西)使用get-maintain......
  • 向Linux看齐!Win 11发布重磅更新:原生支持sudo命令
    微软于今天向WindowsInsider项目成员发布了Windows11Build26052预览版更新,首次在Windows系统中引入了对于原生sudo命令的支持。对于不熟悉Linux系统的用户来说,sudo命令可能有些陌生。但对于Linux用户和开发者而言,sudo命令无疑是日常工作中最常用的命令之一。sudo命令可以让......
  • Linux系统中一些重要目录的用途简介及各种常用命令
    1.Linux系统中一些重要目录的用途简介Linux文件系统的目录结构设计遵循了文件系统层级标准(FilesystemHierarchyStandard,FHS)。以下是Linux系统中一些重要目录的用途简介:/(根目录):Linux文件系统的起点。所有的文件和目录都在这个目录下开始。/bin:存放基本的用户二进制文件,......
  • linux 中如何提取一列中纯数字或者纯字母的行
     001、纯数字[root@PC1test1]#lsa.txt[root@PC1test1]#cata.txt##测试文本sdf3247fy323td34342fff435tih6334s234dfg65[root@PC1test1]#grep"^[0-9]\+$"a.txt##提取纯数字的行3424356334 002、纯字母[root@PC1t......