단어 뒤에 빈 줄이 있어도 파일의 마지막 단어를 찾는 방법
사례
나는 마지막 단어를 찾기 위해 이것을 시도한다
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
즉, 줄에 "무언가"가 있을 때마다 마지막 단어가 저장됩니다. 마지막으로 저장된 값을 인쇄합니다.
답변2
비어 있지 않은 마지막 줄의 마지막 단어를 추적하고 끝에 인쇄하십시오.
awk '/\S/{ s=$NF; } END{ print(s); }'
줄을 역순으로 인쇄하기 위해 전체 파일을 메모리에 보관할 필요가 없습니다.
답변3
sed -n '$p' example.txt | awk '{print $NF}'
그러면 파일의 마지막 줄을 가져오고 마지막 줄의 마지막 열이 표시됩니다.