공백으로 구분된 3개의 필드가 있는 문자열이 있습니다. 마지막 두 필드를 연결하고 -
마지막 줄 바꿈이 제거되었는지 확인하고 싶습니다.
다음은 작동합니다:
echo -n "abc 1234 5679" | tr -s "" |cut -d ' ' -f2 -f3 | tr " " "-"
perl
온라인에서 누군가가 이것을 할 수 있는지 궁금합니다 .
답변1
사용 awk
:
printf 'abc 1234 5679' | awk '{printf "%s", $2"-"$3}'
또는 perl
패턴 awk
( -a
):
printf 'abc 1234 5679' | perl -ape '$_ = "$F[1]-$F[2]"'
둘 다 줄 구분 기호가 있는 경우 제거합니다. 이를 유지하려면 GNU를 사용하세요 awk
.
printf 'abc 1234 5679\n' | gawk '{printf "%s", $2"-"$3 RT}'
그리고 perl
:
printf 'abc 1234 5679\n' | perl -ape 's/.*/$F[1]-$F[2]/'
답변2
이것을 사용하십시오 :
$ echo -n "abc 1234 5679" | perl -pe 's/(\d+)\s+(\d+)$/$1-$2/'