sed를 사용하여 각 줄의 두 번째 문자 제거

sed를 사용하여 각 줄의 두 번째 문자 제거

sed파일의 각 줄의 두 번째 문자를 삭제하는 명령을 작성하세요 .

sed -e 's/^.//' sample 

위 명령은 첫 번째 문자를 삭제합니다. 그런데 두 번째 문자만 어떻게 지정하나요?

답변1

sed 's/.//2' sample

후행은 명령의 "플래그"입니다 2(때때로 과도하게 사용됨). 이는 각 줄에서 정규식의 두 번째 발생에만 대체를 적용하도록 지시합니다. 정규식은 (단일 문자와 일치)이므로 각 입력 줄에서 두 번째 문자가 제거됩니다.ssedgsed.

/명령의 마지막 구분 기호 뒤에 양의 정수를 사용하면 s한 줄에서 일부 일치 항목을 건너뛸 수 있습니다.

답변2

역참조를 지원하는 경우 sed:

sed -E 's/^(.)./\1/'

답변3

귀하의 구체적인 상황에 따라

다음 규칙을 사용할 수 있습니다

sed 's/.//2' sample

2두 번째 문자에 해당합니다 .

더미의 예로입력하다파일 이름은test.txt

qwertyuiop
asdfghjkl
zxcvbnm

이것산출명령 sed 's/.//2' test.txt

qertyuiop
adfghjkl
zcvbnm

기본 규칙으로

다음을 사용하여 Nth패턴의 문자(즉, 모든 문자)를 제거할 수 있습니다..

sed 's/.//N' sample

관련 정보