wordの後に空の行がある場合でもファイル内の最後のWordを見つける方法
ケース
最後の単語を見つけるためにこれを試しました
tail -1 /tmp/requests.txt
ただし出力なし
私は次のアプローチを試します
awk 'END {print $NF}' /tmp/requests.txt
ただし出力なし
私はWordをtail -6(Wordはファイルの終わりの前に6つの空の行だったので)によってのみキャプチャします
tail -6 /tmp/requests.txt
"IN_PROGRESS"
空きスペースがあるかどうかにかかわらず、最後の単語をキャプチャする方法は何ですか
推測される結果
echo $Last_Word
IN_PROGRESS
下から読み始めて、少なくとも「何か」を含む最初の行の最後の単語を印刷します。
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
つまり、行に「何か」があるときはいつでも最後の単語を保存します。最後に、保存された値を出力します。
空でない最後の行の最後の単語を追跡し、最後に印刷します。
awk '/\S/{ s=$NF; } END{ print(s); }'
行を逆の順序で印刷するために、ファイル全体をメモリに保持する必要はありません。
sed -n '$p' example.txt | awk '{print $NF}'
これにより、ファイルの最後の行が取得され、最後の行の最後の列が表示されます。