次の表があります。
3番目の列に2つの文字列を含むファイル:applepotato
私はこれを得るためにリンゴとジャガイモと呼ばれる文字列を含むタイトルとすべての行を抽出したいと思います。
ありがとう
答え1
使用awk
:
awk 'FNR == 1 || /potato|apple/'
使用sed
:
sed -n '1p; /potato\|apple/p'
potato|apple
どちらの場合も、行番号1に一致する行が印刷されます。
答え2
以下は、プレーンテキストで構成されるtxtテーブルです。
A B C D E
21 63 apple yellow 5
23 69 lemon green 6
45 135 orange yellow 7
67 201 mango green 4
54 162 potato maroon 5
あまり複雑な解決策を考えることはできませんが、少しハックだと思います:-)テーブルtxtファイルが呼び出されるとしますtable1
$ head -1 table1 && grep '\b\(potato\|apple\)\b' table1
これにより、最初の行が得られ、grep
結果が追加されます。\b
単語の境界です。したがって、これは「グラップル(フック)」などの単語をフィルタリングします。 :) もう1つの複雑な解決策は、A、B、C...がタブで区切られていると仮定します\t
。
$ grep '\(\b\(potato\|apple\)\b\|\([A-Z]\|\(\t\|\n?$\)\)\)' table1