私のテキストファイルに次のものが含まれているとしましょう。
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