1. ホーム
  2. file

[解決済み】ファイル内の行の最後の列を印刷する

2022-01-26 06:53:01

質問

常に書き込まれ、更新されるファイルを持っています。特定の単語を含む最後の行を探し、その行の最後の列を表示したい。

ファイルはこのような感じです。時間の経過とともにA1/B1/C1行が追加されていきます。

A1 123 456
B1 234 567
C1 345 678
A1 098 766
B1 987 6545
C1 876 5434

を使ってみました。

tail -f file | grep A1 | awk '{print $NF}'

と入力すると、値766が出力されますが、何も出力されません。

このような方法はあるのでしょうか?

どのように解決するのですか?

バッファリングのため、何も表示されない。十分な行数があるか、ファイルの終端に達したときに出力が表示されます。 tail -f は、さらなる入力を待つという意味ですが、これ以上行がない場合は {コード {コード というパイプで file が閉じられることはない。

を省略した場合 grep

-f

tail

tail file | grep A1 | awk '{print $NF}'

A1

tail file | awk '/A1/ {print $NF}'