다음과 같이 구성된 행이 많은 파일이 많이 있습니다.
what,r-crq,What,What,VAC5700-035080,What
i,pns11,I,I,VAC5700-035090,I
do,vdd,did,did,VAC5700-035100,did
VAC
검색 및 교체를 수행하여 4개의 숫자를 저장했다가 다시 삽입하고 숫자 의 후행 부분을 제거하여 이 결과를 만들고 싶습니다 VAC
.
what,r-crq,What,What,VAC5700,What
i,pns11,I,I,VAC5700,I
do,vdd,did,did,VAC5700,did
모든 파일에 대해 한 번에 이 작업을 수행할 수 있는 방법이 있습니까(숫자는 VAC
다양하므로 변수로 저장해야 함), 바람직하게는 Bash 셸에서 수행할 수 있습니까?
나는 정규식을 사용하여 "Notepad++"에서도 이 작업을 수행할 수 있다고 가정하지만 모든 파일을 일괄 처리할 수 있으므로 쉘 스크립트가 더 바람직하다고 생각합니다.
답변1
다음 명령 을 사용하십시오 sed
.
sed -e 's|,VAC\([0-9][0-9][0-9][0-9]\)-[0-9]*,|,VAC\1,|' inFile > outFile
,VAC####-#...#,
으로 대체됩니다 ,VAC####,
.