2017-02-23 4 views
0

文字列のすべてのインスタンスを1つのファイルに、マスターリストを別のファイルにマッチさせる必要があります。しかし、私の文字列がabcなら、私はそれだけでいいのですが、abcdefabc1234などではありません。AWKによって生成されたコマンド文字列に引用符を埋め込む?

したがって、正規表現の単語境界はありますか?今、私は1つのライナーをシンプルなawkを使用しています:

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

しかし、単語の境界を強制するために、私はstring\bをgrepする必要があるだろうと(シングルまたはダブル)引用符が必要としているようです。

\bは特殊文字で、\\bが必要です。引用符で囲まれた引用符...(arg)...または、私は何かを逃しており、これを過ぎていますか?

これはLinuxボックスなので、恐らくgawkです。私はawkのルールを引用していますが、これは単純でなければならないことを認識していますが(複雑ではありませんが...)、しかしそれは見ていません。

+2

あなたの質問はエディタの '{} 'ボタンを使用してすべてのコード、サンプル入力、および期待される出力を適切にフォーマットして読み取り可能にします。 –

+0

ABCD oo_123 XYZ jk1234 ABC確かに(これはおそらく混乱になりますが、それは理にかなって) xyzabc私は二重のエスケープの\ bと引用引用符についてそのものが何であるか、あなたのスクリプトがやっているか、何を理解しない –

+2

。また、あなたは文字列にマッチしたいと思っていますが、あなたは正規表現について議論しています - あなたはマッチしたいですか?あなたの質問を簡潔で、テスト可能なサンプル入力と、あなたがしようとしていることを示し、潜在的な解決策をテストすることができる期待される出力を含めるように、あなたの質問を編集してください。 –

答えて

0

コメントは回答ではなく回答として投稿することを意味しました。もっと読みやすい質問をするつもりですが、最初に1ライナーとしてこれを行うことについて二度目の考えを抱くことに告白します - 別の方法に従うのが最善でしょう。喜んで助けてください。 --Joe

関連する問題