每個結果行之后的 FILENAMEawk '/Select User File/,/\*\*/' "{}"/* | grep "Rule" | sed 's/ //g' | sort -u給我的輸出為Rule 123Rule asdRule asdklnj我想FILENAME在每行的末尾附加我不知道如何在管道后獲取文件名
2 回答
犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
你不需要在管道之后得到它。只需將其放在awk命令中即可。
awk '/Select User File/,/\*\*/ {print $0 FILENAME}' "{}"/* | grep "Rule" | sed 's/ //g' | sort -u也不需要使用grepand sed,那些可以自己完成awk。
awk '/Select User File/,/\*\*/ && /Rule/ {gsub(" ", ""); print $0, FILENAME}' "{}"/* | sort -u
呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
恕我直言,我們可以單獨完成此操作,awk或者我們可以減少您嘗試中的命令,因為沒有給出樣本然后嘗試修復 OP 的嘗試本身,請嘗試以下操作。
awk '/Select User File/,/\*\*/{gsub(/ /,"");print $0,FILENAME}' "{}"/* | grep "Rule" | sort -u添加回答
舉報
0/150
提交
取消
