sed
파일의 각 줄의 두 번째 문자를 삭제하는 명령을 작성하세요 .
sed -e 's/^.//' sample
위 명령은 첫 번째 문자를 삭제합니다. 그런데 두 번째 문자만 어떻게 지정하나요?
답변1
sed 's/.//2' sample
후행은 명령의 "플래그"입니다 2
(때때로 과도하게 사용됨). 이는 각 줄에서 정규식의 두 번째 발생에만 대체를 적용하도록 지시합니다. 정규식은 (단일 문자와 일치)이므로 각 입력 줄에서 두 번째 문자가 제거됩니다.s
sed
g
sed
.
/
명령의 마지막 구분 기호 뒤에 양의 정수를 사용하면 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