ファイル内の最後の単語を見つけてスペースを無視する方法

ファイル内の最後の単語を見つけてスペースを無視する方法

単語の後に空白行があってもファイルの最後の単語を見つける方法

ケース

私は最後の単語を見つけるためにこれを試みます

tail -1  /tmp/requests.txt

しかし、出力はありません

私は次を試してください

 awk 'END {print $NF}'   /tmp/requests.txt

しかし、出力はありません

この言葉だけをキャプチャするテール-6(単語のファイルの終わりの前に6つの空行があるためです。

 tail -6  /tmp/requests.txt
 "IN_PROGRESS"

空白がある場合とない場合は、最後の単語をキャプチャする方法

期待されるパフォーマンス

 echo $Last_word
 IN_PROGRESS

ベストアンサー1

一番下から読み、「something」を含む最初の行の最後の単語だけを印刷してください。

tac file | awk 'NF{print $NF; exit}'

たとえば、

$ cat -vet file     # note the spaces and tabs
hello$
bla ble bli$
   $
^I$
$ tac file | awk 'NF{print $NF; exit}'
bli

がない場合は、tac通常、ファイルを読み取るのと同じロジックを使用します。

awk 'NF{last=$NF} END{print last}' file

つまり、行に「何か」があるたびに最後の単語が保存されます。最後に保存した値を印刷します。

おすすめ記事