Linux

如何找到文件中的最後一個單詞並忽略空格

  • January 5, 2018

即使在單詞之後有空行,如何找到文件中的最後一個單詞

案子

我試過這個來找到最後一個詞

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

也就是說,只要一行中有“某物”,就儲存最後一個單詞。最後,列印儲存的值。

引用自:https://unix.stackexchange.com/questions/414560