이 파일이 있어요
123 My name is Lorry I'm 29 years old 10000 45
148 Name - Dan 20000 18
895 My name is John Lazaro I like tennis 30000 63
한 줄의 마지막 숫자를 인쇄하고 싶습니다.
45
18
63
이것이 가능합니까?
업데이트: 이제 인쇄하고 싶습니다.
10000
20000
30000
답변1
귀하의 경우 마지막 (공백으로 구분된) 단어는 숫자입니다. 항상 그런 경우라면 다음과 같이 마지막 단어를 인쇄하는 것으로 문제를 단순화할 수 있습니다.
awk 'NF {print $NF}'
또는
sed 's/.* //'
이전 항목의 경우:
awk 'NF >= 2 {print $(NF-1)}'
마지막 단어를 인쇄하려는 경우 양의 십진 정수이면 다음과 같습니다.
awk '$NF ~ /^[0-9]+$/ {print $NF}'
(이전 것으로 교체 $NF
) $(NF-1)
.
각 줄의 가장 오른쪽에 있는 10진수 시퀀스를 인쇄하려면 다음을 수행하세요.
sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\).*/\1/p'
이전 항목의 경우:
sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\)[^0-9].*[0-9].*/\1/p'
답변2
awk
다음을 사용하여 마지막 커밋을 인쇄 해 볼 수 있습니다 .
awk '{ print $NF }' file
마지막 필드 옆에 있는 인쇄 필드의 경우:
awk '{ print $(NF - 1) }' file
답변3
업데이트된 출력이 필요한 사람이 있으면 다음을 입력하세요.
awk '{print $(NF-1)}' file.txt