숫자 주위에 대괄호를 추가하고 숫자 뒤에 대입 연산자를 추가하는 방법

숫자 주위에 대괄호를 추가하고 숫자 뒤에 대입 연산자를 추가하는 방법

약 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

선행 탭이나 공백은 추가되지 않습니다. (문제 설명에서 이를 언급하지 않았지만 출력 예제에 그런 내용이 있는 것 같습니다.)

이것은 줄의 전체 내용을 변경하고 하나 이상의 숫자로 대체합니다.cregionsNN. 변환을 적용하고 싶다면어느하나 이상의 숫자로 끝나는 줄의 경우 다음과 같은 간단한 sed명령을 사용할 수 있습니다.

sed -r 's/[0-9]+$/[&] <-/' file.regions.txt >file.regions.output.txt

(감사해요지적해주신 Glenn Jackman에게 감사드립니다.이 버전의 명령에는 &전체 일치 항목을 나타내는 데만 사용할 수 있으므로 캡처링 그룹이 필요하지 않습니다. )

물론 이러한 명령 중 하나를 사용하면 리디렉션을 생략하여 파일에 기록하는 대신 출력을 볼 수 있습니다 >file.regions.output.txt.

관련 정보