2017-06-06 41 views
0

我想從多個文件第九欄使用粘貼和awk一個單一的文件,這個曾與此代碼:如何添加文件名作爲AWK命令的第一行

paste <(awk '{FS="\t"}{OFS="\t"}{ a[FNR] = (a[FNR] ? a[FNR] FS : "") $9 } END { for(i=1;i<=FNR;i++) print a[i] }' $(ls -1v */groups.txt))>file.txt 

現在我想讓第一行成爲這些文件中的每一個的父目錄 這怎麼可能完成?

我想:

paste <(awk '{FS="\t"}{OFS="\t"}}BEGIN{var=$FILENAME; split (var,b,/\//); print b[3]}{ a[FNR] = (a[FNR] ? a[FNR] FS : "") $9 } END { for(i=1;i<=FNR;i++) print a[i] }' $(ls -1v */groups.txt))>file.txt 

但它打印在文件的開頭空行

+0

郵政輸入和預期輸出。 – 123

回答

0

所以,如果你只是想爲每一個文件,你可以使用類似的父目錄:

for file in */groups.txt; do echo ${file%%/*} ; done 
+0

我想將父目錄添加到輸出文件,以便我知道每列都來自哪個目錄@ JFS31 – Sarah

+0

因此,您希望從第一個命令的輸出添加父目錄嗎?如果你能發佈你的預期輸出應該是什麼樣子,那將是非常好的。 – JFS31

相關問題