Linux
如何找到文件中的最後一個單詞並忽略空格
即使在單詞之後有空行,如何找到文件中的最後一個單詞
案子
我試過這個來找到最後一個詞
tail -1 /tmp/requests.txt
但沒有輸出
我嘗試以下方法
awk 'END {print $NF}' /tmp/requests.txt
但沒有輸出
我僅通過tail -6擷取單詞(因為該單詞在文件末尾之前是 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
也就是說,只要一行中有“某物”,就儲存最後一個單詞。最後,列印儲存的值。