줄의 세 번째 문자 변경

줄의 세 번째 문자 변경

입력하다:

dummy - 22847847
sha - 84734747
DHS - 374874

예상 출력:

du1my - 22847847
sh1 - 84734747
DH1 - 374874

답변1

$ cat test.txt
dummy - 22847847
sha - 84734747
DHS - 374874

$ awk '{$3=1}1' FS="" OFS="" test.txt
du1my - 22847847
sh1 - 84734747
DH1 - 374874

답변2

그리고 sed:

sed 's/^\(..\)./\11/' infile > expected_result

그룹 일치 라고 하며 (..)처음 두 문자를 캡처하고 \1해당 문자의 역참조입니다. .정규 표현식의 점은 단일 문자와 일치합니다 .

3번째 자리 가 아닌 N번째 자리 인 경우 , 아래 단계에 따라 3번째 자리 문자를 로 변경할 수 있습니다 1.

sed 's/^\(.\{2\}\)./\11/' infile

아니면 아래에 지적한 대로@스틸드라이버:

sed 's/./1/3' infile

관련 정보