-1
我有很多輸入文件,例如1.txt,2.txt,3.txt 所有文件名都列在filelist.dat的一列中。處理許多輸入文件並通過awk分隔許多輸出文件
awk '{print $1}' $(cat filelist.dat) > all.dat
在文件all.dat中,寫入了三個文件的第一個字段值。
我想將一個輸出文件分爲三個對應於輸入文件的文件。
我有很多輸入文件,例如1.txt,2.txt,3.txt 所有文件名都列在filelist.dat的一列中。處理許多輸入文件並通過awk分隔許多輸出文件
awk '{print $1}' $(cat filelist.dat) > all.dat
在文件all.dat中,寫入了三個文件的第一個字段值。
我想將一個輸出文件分爲三個對應於輸入文件的文件。
給這條線一試,我沒有測試:
awk '{fn=FILENAME"_out";print $1>>fn;close(fn);}' <yourFileList>
這將輸出爲每個輸入文件的輸出文件: 「input_out」
注意
如果您的文件列表不是那麼大,您可以使用>
重定向並刪除close(fn)
。
與close()
的oneliner是一個快速解決方案。我們可以更好地通過切換輸入來關閉文件,以避免經常打開/關閉文件。但如果它解決了你的問題,你可以使用它。