如何使用bash命令将文件中的多个列合并为单个列?

时间:2018-12-10 13:24:50

标签: linux bash sh

我有一个包含三个不同列的文本文件。我想通过将所有这些列合并为一个列来创建另一个文件。

我的文件看起来像这样

mep_kylo_campaigns               mep_primecastaccount        mep_flightstatus
nqs                              tod_do                      gandhi_sub_data 
kylo_register                    policy_record               mep_kylo_jobs   
mep_note                         msg_store                   mep_feature     
nqs_aside                        tbl_employee                mep_profile  

我想要这样的输出

mep_kylo_campaigns                       
nqs                                                     
kylo_register                                      
mep_note                                                 
nqs_aside                                           
mep_primecastaccount
mep_flightstatus
tod_do
policy_record
msg_store
tbl_employee
gandhi_sub_data
mep_kylo_jobs
mep_feature
mep_profile

3 个答案:

答案 0 :(得分:3)

这是一种方法,但是顺序不同:

$ cat file | tr -s ' ' '\n'
mep_kylo_campaigns
mep_primecastaccount
mep_flightstatus
...

更新:由于建议猫的无用使用,这是另一种形式:

$ < file tr -s ' ' '\n'

答案 1 :(得分:2)

如果您对awk感兴趣,可以这样:

awk 'BEGIN{ ORS="" } { for ( i=1; i<= NF ; i++){ print $i"\n"  }  }' input.txt

此外,如果您要保留列的顺序,则可以使用以下方法:

awk 'BEGIN{ ORS="" } { for ( i=1; i<= NF ; i++){ dict[i]=dict[i]$i"\n"  }  } END { for (key in dict) { print dict[key] }  }' input.txt

希望有帮助!

答案 2 :(得分:1)

这是一个维护订单的Perl解决方案

$ cat globe.txt
mep_kylo_campaigns               mep_primecastaccount        mep_flightstatus
nqs                              tod_do                      gandhi_sub_data
kylo_register                    policy_record               mep_kylo_jobs
mep_note                         msg_store                   mep_feature
nqs_aside                        tbl_employee                mep_profile
$ perl -F"/\s+/"  -lane ' push(@F1,$F[0]);push(@F2,$F[1]);push(@F3,$F[2]); END { print join("\n",@F1,@F2,@F3) } ' globe.txt
mep_kylo_campaigns
nqs
kylo_register
mep_note
nqs_aside
mep_primecastaccount
tod_do
policy_record
msg_store
tbl_employee
mep_flightstatus
gandhi_sub_data
mep_kylo_jobs
mep_feature
mep_profile
$