Text-Processing
粘貼文本文件並將父目錄名稱添加為每列的標題
在父文件夾中,我有多個文件夾。在每個文件夾中,我都有文本文件“text.txt”。所有文件夾中的文本文件都相似,每個文本文件包含 100 行和一列數字。例子
cat /folder1/text1.txt 1654 1684 535 35131 . .
我想使用命令將所有這些文本文件合併為一個文件中的列
paste
。在父文件夾中,我執行了命令paste ./*/text*.text > all_text.txt # the content for all_text.txt is as follow: cat all_text.txt 1654 354531 .... 1684 224 535 2424 35131 24 . . .
如何將文件夾名稱添加為每個粘貼列的標題以獲得以下輸出
cat all_text.txt folder#1 folder #2 ..... 1654 354531 1684 224 535 2424 35131 24 . . .
您可以
set
在每個數組元素上使用參數擴展來僅列印目錄名稱:set -- */text.txt { printf ' %s' "${@%/*}" | cut -c2-; paste -- "$@"; } # this blank ^ is a literal tab