약 1000줄의 파일이 있는데 처음 몇 줄은 다음과 같습니다.
head file.regions.txt
cregions1
cregions2
cregions3
cregions4
cregions5
cregions6
cregions7
cregions8
cregions9
cregions10
...
숫자 주위에 괄호를 추가하고 숫자 뒤의 모든 줄에 "<-"를 추가하고 싶습니다! 이것이 내가 원하는 출력이다
head file.regions.output.txt
cregions[1] <-
cregions[2] <-
cregions[3] <-
cregions[4] <-
cregions[5] <-
cregions[6] <-
cregions[7] <-
cregions[8] <-
cregions[9] <-
cregions[10] <-
...
답변1
어때요?
sed -e 's/$/] <-/g' -e 's/cregions/cregions[/g' yourFile
답변2
당신은 그것을 사용할 수 있습니다 :
sed -r 's/^(cregions)([0-9]+)$/\1[\2] <-/' file.regions.txt >file.regions.output.txt
선행 탭이나 공백은 추가되지 않습니다. (문제 설명에서 이를 언급하지 않았지만 출력 예제에 그런 내용이 있는 것 같습니다.)
이것은 줄의 전체 내용을 변경하고 하나 이상의 숫자로 대체합니다.cregionsN
N
. 변환을 적용하고 싶다면어느하나 이상의 숫자로 끝나는 줄의 경우 다음과 같은 간단한 sed
명령을 사용할 수 있습니다.
sed -r 's/[0-9]+$/[&] <-/' file.regions.txt >file.regions.output.txt
(감사해요지적해주신 Glenn Jackman에게 감사드립니다.이 버전의 명령에는 &
전체 일치 항목을 나타내는 데만 사용할 수 있으므로 캡처링 그룹이 필요하지 않습니다. )
물론 이러한 명령 중 하나를 사용하면 리디렉션을 생략하여 파일에 기록하는 대신 출력을 볼 수 있습니다 >file.regions.output.txt
.