2017-02-23 60 views
0

我需要將一個文件中的所有字符串實例與另一個文件中的主列表進行匹配。但是,如果我的字符串是abc我只想要,而不是abcdefabc1234等。在由AWK生成的命令字符串中嵌入引號?

那麼,正則表達式的字邊界?現在,我使用的是簡單的awk一個班輪:

cat results_file| sort -k 1| awk -F" " '{ print $1" /home/owner/file_2_search"}'| 
xargs -L 1 /bin/grep -i 

然而,迫使一個單詞邊界,我需要到grep string\b和引號(單人或雙人)似乎是必需的。

在awk中,\b是一個特殊字符,您需要\\b ...並且引用引號...(arg)...或者我錯過了某些內容並且過度執行此操作?

這是一個Linux機器,可能是gawk。我已經引用了awk的引用規則,並且意識到這很簡單(並且不復雜......但是),但是我沒有看到它。

+2

使用編輯器的「{}」按鈕來編輯您的問題,以正確格式化所有代碼,樣本輸入和預期輸出,使其可讀。 –

+0

肯定(這將可能是一個爛攤子,但它是有道理的)ABC ABCD jk1234 oo_123 XYZ XYZABC –

+2

我不明白你的腳本是做什麼或怎麼樣雙重轉義\ B和報價行情的東西是什麼。你也說你想匹配字符串,但是你正在討論regexps - 你想匹配哪個?請[編輯]你的問題,包括簡明,可測試的樣本輸入和預期的輸出,以顯示你正在嘗試做什麼以及我們可以測試一個潛在的解決方案。 –

回答

0

本來打算作爲回答發佈,而不是評論。試圖提出一個更可讀的問題,但承認再次考慮將其作爲一個單線程首先 - 可能最好遵循一種替代方法。感謝幫助的意願。 --Joe