입력하다:
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