[英]Add filename to appended text file in shell script above pasted text
在腳本上工作(Mac OSX Yosemite,在終端上工作),在這里我分析了許多文件,並想在一個文本文件中添加腳本的輸出。
gawk -f ./user/filter.dat ./user/outputpre1.out >> ./user/outputpost.out
gawk -f ./user/filter.dat ./user/outputpre2.out >> ./user/outputpost.out
對於解釋來說,找到輸出的來源非常有用。 我現在的輸出都是行,就像這樣:
ROW1:OUTPUTOUTPUT
ROW2:OUTPUTOUTPUT
ROW8:OUTPUTOUTPUT
ROW10:OUTPUTOUTPUT
我想要的是:
**Output from file outputpre1.out
ROW1:OUTPUTOUTPUT
ROW2:OUTPUTOUTPUT
**Output from file outputpre2.out
ROW8:OUTPUTOUTPUT
ROW10:OUTPUTOUTPUT
通過gawk可以做到嗎?
您沒有顯示filter.dat
腳本,但是gawk
確實知道當前輸入文件的名稱,可以將其合並到腳本的邏輯中(請參閱手冊 ):
文檔名稱
當前輸入文件的名稱。 如果在命令行上未指定文件,則FILENAME的值為“-”。 但是, FILENAME在BEGIN塊內是未定義的(除非由getline設置)。
如何合並取決於filter.dat
的組織方式。 該腳本必須設置一個變量(將在重復使用后進行測試),以確保它僅打印一次文件名。 像這樣的片段:
BEGIN {
first = 1
}
... (just before printing rows)
if (first == 1) {
printf "\n**Output from file %s\n", FILENAME;
first = 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.