0
我有幾十個文件進來,都是.dat格式幷包含標題。Bash或KSH連接帶標題的多個分隔文件
我想要做的是將所有文件連接到位於同一目錄中的名爲merged-date.dat的單個文件。這很簡單,但問題在於所有文件都有一個標題行。因此,對於第一個以外的任何文件,我想在concat過程中消除該標題行(又名第一行),因此我沒有包含標題的多個記錄。有人有主意嗎?預先感謝您的答案!
我有幾十個文件進來,都是.dat格式幷包含標題。Bash或KSH連接帶標題的多個分隔文件
我想要做的是將所有文件連接到位於同一目錄中的名爲merged-date.dat的單個文件。這很簡單,但問題在於所有文件都有一個標題行。因此,對於第一個以外的任何文件,我想在concat過程中消除該標題行(又名第一行),因此我沒有包含標題的多個記錄。有人有主意嗎?預先感謝您的答案!
您可以在沒有第一行的情況下獲取文件,例如tail -n+2 file
。因此,您可以將第一個文件原樣複製併合並剩餘的所有循環。
cp file1.dat concat.dat
for file in remaining files; do
tail -n+2 $file >> concat.dat
done
上述代碼的循環標題是僞代碼。
如果remaining files
與所有文件相比很難計算,或者您只是將標題添加到新文件,然後合併所有其他文件。
head -n1 file1.dat > concat.dat
for file in /folder/to/files/*; do
tail -n+2 $file >> concat.dat
done