문자열의 마지막 20자를 인쇄해야하지만 전체 단어 만 인쇄해야합니다. 구분 기호는 공백 ""입니다. 의이 예를 생각해 보자 :리눅스 꼬리 만 전체 단어
문자열을 =
에코 $ 문자열 "빠른 갈색 여우가 게으른 개 점프"| 꼬리는
반환 s over the lazy dog
over the lazy dog
을 반환해야합니다. 그 일을 성취하는 방법을 알고 있습니까? 감사!
문자열의 마지막 20자를 인쇄해야하지만 전체 단어 만 인쇄해야합니다. 구분 기호는 공백 ""입니다. 의이 예를 생각해 보자 :리눅스 꼬리 만 전체 단어
문자열을 =
에코 $ 문자열 "빠른 갈색 여우가 게으른 개 점프"| 꼬리는
반환 s over the lazy dog
over the lazy dog
을 반환해야합니다. 그 일을 성취하는 방법을 알고 있습니까? 감사!
echo $string | perl -ne 'print "$1\n" if /\b(\S.{0,20})$/'
echo $string | rev | cut -d ' ' -f -20
* first * twenty * words *를 출력합니다. –
롤 ... 잘 목격, rev와 함께 변경,하지만 그것은 여전히 muptiple 라인 이상 작동하지 않습니다 ... 연구합니다 ... – Stefan
이 외부 프로그램을 사용하지 않고도> 3.2 배쉬에서 작동 :
[[ $string =~ \ (.{0,20})$ ]]
result="$BASH_REMATCH[1]"
나는 기초로
UdiM의
grep
버전을 사용했다.
아주 좋습니다. 감사합니다. – Gargauth
grep 사용 : echo $ string | egrep -o '\ <. {0,20} $' –
@UdiM : 답을해야합니다. –