私は次のコマンドを思い出しました。grep 'rtl' reg_list.txt | grep -E -o -n "id_\w+" reg_list.txt
アイデアは、まずrtlコンテンツを含む行をgrepし、次にid_contentで始まる単語だけをgrepすることです。データはテーブルにあり、最初の列には rtl が含まれ、2 番目の列に id_data が含まれます。
問題は、最初のgrepの結果が2番目のgrepに渡されないことです。
reg_list.txtは、行、列、行を含むテーブルなど、さまざまな種類のデータで構成されています。
ベストアンサー1
最初の結果grep
はい2番目の項目に渡されましたが、grep
2番目の項目にgrep
ファイル名を指定したため、読みません(代わりにファイルから読み取られます)。
代わりに:
grep 'rtl' reg_list.txt | grep -E -o -n 'id_[[:alnum:]]+'
\w
また、それ以来PCRE正規表現に[[:alnum:]]
変更しました。\w
あなたgrep
がGNUならgrep
、それを維持して\w
使用することができますgrep -P
。