시간과 파일 이름 사이의 각 공백에 ";"(세미콜론)을 추가합니다.

시간과 파일 이름 사이의 각 공백에 ";"(세미콜론)을 추가합니다.

다음은 목록입니다.

07:41 0840228.32P379995.de472.netzwerk.com.br,S=307582,W=311813:2,
04:11 1574312.116821186.der472.netzwerk.com.br,S=301166,W=307582:2,
06:22 1540376.98P379995.der472.netzwerk.com.br,S=311813,W=312391:2,
03:39 8712441.254782468.de472.netzwerk.com.br,S=307387,W=311615:2,
07:35 9841630.971395138.de472.netzwerk.com.br,S=303039,W=303039:2,
01:16 2369857.123688174.de472.netzwerk.com.br,S=298927,W=311615:2,
01:08 1845871.564387663.de472.netzwerk.com.br,S=304067,W=305586:2,
08:07 1236913.325890982.de472.netzwerk.com.br,S=299941,W=304067:2,
05:70 1086215.397447162.de472.netzwerk.com.br,S=306747,W=309789:2,
06:41 9513575.225890982.de472.netzwerk.com.br,S=305586,W=306747:2,
01:70 1965849.125749892.de472.netzwerk.com.br,S=313423,W=309171:2,
09:12 9564136.687415393.de472.netzwerk.com.br,S=309171,W=313423:2,

시간과 파일 이름 사이의 각 공백에 ";"(세미콜론)을 추가하여 다음 결과를 생성할 수 있습니까?

07:41;0840228.32P379995.de472.netzwerk.com.br,S=307582,W=311813:2,
04:11;1574312.116821186.der472.netzwerk.com.br,S=301166,W=307582:2,
06:22;1540376.98P379995.der472.netzwerk.com.br,S=311813,W=312391:2,
03:39;8712441.254782468.de472.netzwerk.com.br,S=307387,W=311615:2,
07:35;9841630.971395138.de472.netzwerk.com.br,S=303039,W=303039:2,
01:16;2369857.123688174.de472.netzwerk.com.br,S=298927,W=311615:2,
01:08;1845871.564387663.de472.netzwerk.com.br,S=304067,W=305586:2,
08:07;1236913.325890982.de472.netzwerk.com.br,S=299941,W=304067:2,
05:70;1086215.397447162.de472.netzwerk.com.br,S=306747,W=309789:2,
06:41;9513575.225890982.de472.netzwerk.com.br,S=305586,W=306747:2,
01:70;1965849.125749892.de472.netzwerk.com.br,S=313423,W=309171:2,
09:12;9564136.687415393.de472.netzwerk.com.br,S=309171,W=313423:2,

답변1

목록에 다른 공백 문자가 없으므로 sed각 줄의 첫 번째 공백 문자를 세미콜론으로 바꿀 수 있습니다.

sed 's/ /;/' file

답변2

awk이는 또는 다음을 사용하여 수행할 수 있습니다 sed.

awk '{print $1";"$2}' file

awk -F ' ' '{print $1,$2}' OFS=";" file

sed 's| |;|' file

첫 번째 awk명령은 첫 번째 열과 두 번째 열 사이에 a를 인쇄하고 ;, 두 번째 명령은 공백 구분 기호를 a로 변환합니다 ;. 이 sed명령은 공백을 로 대체합니다 ;. 파일을 편집하려면 다음 명령을 사용하십시오 sed.

sed -i 's| |;|' file

awk버전이 4.1.0 이상이라고 가정하면 다음과 같습니다 .

awk -i inplace '{print $1";"$2}' file

awk -i inplace -F ' ' '{print $1,$2}' OFS=";" filename

답변3

이메일 서버에서도 비슷한 문제가 발생했습니다. 이 목록을 file01.txt텍스트 파일에 넣고 다음 명령을 적용하세요.

cat file01.txt | sed 's/[ \t]/;/g' > file02.txt

관련 정보