쉼표로 구분된 2~6개의 필드를 표시하는 고유 열이 있는 텍스트 파일(약 300,000줄)이 있습니다.
A,BB,CC
EF,GHI,DKLM,OP
Q,RS,TUV
W,XY
내가 달성하고 싶은 것:
A,B,C
EF,HI,KLM,P
Q,S,UV
W,Y
즉, 각 줄의 각 쉼표 뒤의 첫 번째 문자를 제거하고 싶습니다.
귀하의 시간과 도움에 미리 감사드립니다. 감사합니다,
로랑
답변1
$ cat file
A,BB,CC
EF,GHI,DKLM,OP
Q,RS,TUV
W,XY
$ sed 's/,./,/g' file
A,B,C
EF,HI,KLM,P
Q,S,UV
W,Y
정규식은 ,.
리터럴 쉼표 뒤에 다른 문자가 오는 것과 일치합니다. 이 sed
표현식은 s/,./,/g
각 쉼표와 뒤따르는 문자를 쉼표만으로 대체하여 다른 문자를 효과적으로 제거합니다. 모든 줄에서 겹치지 않는 모든 항목을 바꿉니다.
출력을 새 파일로 리디렉션하거나 적절하게 함께 사용하십시오 sed
(참조-i
sed -i(제자리에서 편집)를 사용하여 이식성을 달성하는 방법은 무엇입니까?).