This question already has answers here:

How to print columns one after the other in bash?
(7个答案)
我有一个三列不同的文本文件。我想通过将所有这些列合并为一个列来创建另一个文件。
我的档案是这样的
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

最佳答案

如果你有兴趣这么做,这是一种方式:

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

希望有帮助!

关于linux - 如何使用bash命令将文件中的多个列合并为单个列? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53706639/

10-11 19:00