我有大约175制表符分隔的目录中的文件txt
。我对第一列感兴趣,我想从每个文件的第一列中删除所有重复的项目,然后将它们打印为新的txt
文件中的列。使用awk命令来操纵列
#this removes all duplicates in column 1 of myFile.txt
awk '!x[$1]++' myFile.txt
#this copies all coulmn 1 from every file and paste them as columns in a new file
#!/bin/bash
OUT=AllColumns.tsv
touch $OUT
for file in *.txt
do
paste $OUT <(awk -F\\t '{print $1}' $file) > $OUT.tmp
mv $OUT.tmp $OUT
done
我的问题,我怎么能结合这两种命令,以便它打印出从每个文件的第1列(不重复的项目)到一个新的文件列?
你的意思呢? 'AWK '{A [$ 1]} END {打印X(在X)}' * .txt' – Kent
显示从几个输入文件,哪些输出应该是几行。我不确定你的意思是什么“..成为一个新的文件列”。你的意思是应该有一个输出文件有多个列,每列对应于其中一个输入文件的列1? – jas