![계산된 패턴을 파일의 줄 시작 부분으로 이동합니다.](https://linux55.com/image/187615/%EA%B3%84%EC%82%B0%EB%90%9C%20%ED%8C%A8%ED%84%B4%EC%9D%84%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%A4%84%20%EC%8B%9C%EC%9E%91%20%EB%B6%80%EB%B6%84%EC%9C%BC%EB%A1%9C%20%EC%9D%B4%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4..png)
입력하다:
1991/10/15,DFD.T/SDFDS.Z/9887/15MAR/DFC/I.X/918875797553.G/IUYT/1/453.H/LPJB
1991/10/15,DFD.T/RUDFR.Z/9887/15MAR/DFC/I.X/918875797554.G/IUYT/1/453.H/LPJB
예상되는:
.X/918875797553.T/SDFDS,1991/10/15,DFD.Z/9887/15MAR/DFC/I.G/IUYT/1/453.H/LPJB
.X/918875797554.T/RUDFR,1991/10/15,DFD.Z/9887/15MAR/DFC/I.G/IUYT/1/453.H/LPJB
.X/followed value 및 .T/followed value는 줄의 시작 부분으로 이동해야 합니다. 누군가 위의 문제에 대한 해결책을 제안해주세요. 내 파일에 수천 줄이 있는데 이를 동일한 형식으로 변환하고 싶습니다.
답변1
사용 sed
및 두 가지 대체:
sed 's/\(.*\)\(\.T\/[^.]*\)/\2,\1/;s/\(.*\)\(\.X\/[^.]*\)/\2\1/' file
그러면 .T/
이후의 문자가 아닌 .
문자가 줄의 시작 부분으로 이동하고 ,
첫 번째 대체 항목에 a가 추가됩니다.
그런 다음 두 번째 교체 시 .X/
문자가 아닌 문자 뒤의 줄 시작 부분으로 이동합니다 .
.