필드를 연결하고 줄에서 후행 공백을 제거합니다.

필드를 연결하고 줄에서 후행 공백을 제거합니다.

공백으로 구분된 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/' 

관련 정보