我想提取911116683
和USCAFARES
,並顯示使用awk處理的輸入文件的名稱。該字符串是:'/split/911116683/1Y/USCAFARES'
。如何在使用awk編程的分隔符後提取一行的一部分並將其打印輸出?
我的awk程序是:
awk -F" " 'BEGIN { OFS="|"; FILE_NAME="NULL"; WU_SG="NULL"; SRC_FTP_LOG_FILENAME="NULL"; } /Src file:/ { FILE_NAME1=$3; WU_SG1=$3; } END{ FILE_NAME=substr(FILE_NAME1,22,9); WU_SG=substr(FILE_NAME1,9,9); SRC_FTP_LOG_FILENAME=FILENAME; print(FILE_NAME,WU_SG,SRC_FTP_LOG_FILENAME); }' $File_to_be_processed
但我正在逐漸語法錯誤echo語句,我想這不能使用。如何提取awk中的字段並使用變量顯示?
我輸入文件即File_to_be_processed包含此行:
Src file: '/split/911116683/1Y/USCAFARES' on host 'Local'
我所需的輸出是:
USCAFARES|911116683|SYSOUT_0ranv_00007
其中SYSOUT_0ranv_00007
是輸入文件的名稱或File_to_be_processed
不要全用大寫變量名。這是awk內置變量。在你的腳本中沒有echo語句 - 你是指''我得到echo語句的語法錯誤',語法錯誤是什麼,以及代碼的哪個部分正在生成它?編輯你的問題來清理並回答這些問題,不要在評論中回覆。 –