sed/awk/perl - 두 문자열/단어 + Solaris 10 사이의 공백 제거

sed/awk/perl - 두 문자열/단어 + Solaris 10 사이의 공백 제거

값/문자열 사이의 공백("=" 문자 뒤)에 "="를 제거하는 방법을 제안해 주십시오. 이는 awk, sed 또는 perl 명령으로 수행해야 하며 명령은 Solaris OS에 적합해야 합니다. (명령은 내 배시 스크립트)

Solaris 10 운영 체제를 사용하고 있습니다.

예시 1(업데이트 전)

더 많은 문서

 a=2
 b= 45
 c=   4
 d= 98
 e=09
 f= gdtd
 g=     @7h
 parameter5=    87

예시 2(업데이트 후)

더 많은 문서

a=2
b=45
c=4
d=98
e=09
f=gdtd
g=@7h
parameter5=87

답변1

이 시도:

sed 's/=[ \t]*/=/' input.txt

원하는 경우 -i내부 편집 옵션을 지정합니다.


sed -i솔라리스에는 적합하지 않음

다른 파일로 리디렉션하고 원본 파일로 이름을 바꾸거나 대신 Perl을 사용하십시오.

perl -pi -e 's/=[ \t]*/=/g' input.txt

답변2

sed 's/=[[:blank:]]*/=/' < file.in > file.out

답변3

이를 수행하는 방법에는 여러 가지가 있지만 가장 간단하고 가장 원시적인 방법은 파일을 가져와서 sed를 통해 파이프하는 것입니다.cat $filename | sed -e 's/ //g'

답변4

솔라리스 11의 경우 여러 공간을 단일 공간 인라인으로 전환하는 방법은 다음과 같습니다.

[출력 명령] | sed -e 's/ */ /g'

별표가 있는 공백 두 개

관련 정보