我尝试使用paste和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 :(得分:0)
因此,如果您只想要每个文件的父目录,您可以使用以下内容:
for file in */groups.txt; do echo ${file%%/*} ; done