テキストファイルの名前に基づいて特定のデータのみをインポートする

テキストファイルの名前に基づいて特定のデータのみをインポートする

私のテキストファイルに次のものが含まれているとしましょう。

101    Adam
201    Clarie
502    Adam
403    Tom

特定の名前に基づいて数字のみを提供するコマンドをシェルに書きたいと思います。たとえば、「Adam」という名前の数字だけを出力すると、次のようになります。

101
502

私は次のことを考えています:

cut -f 1 Data_1 | grep "Adam"

しかし、うまくいきません。 Data_1はファイル名です。 1 は最初の列を表します。私はUnixに初めて触れたので、これについてのフィードバックをいただきありがとうございます。

ベストアンサー1

grep次のオプションを使用すると、PerlツアーエクステンションでSingleを使用できます-P

grep -Po '.*(?=Adam)' file

これにより、Adamという単語まで1行の内容がすべて印刷されます。

スペースなどを除いて数字だけを希望する場合は、次の操作を行います。

grep -Po '[0-9]*(?=.*Adam)' file

おすすめ記事