텍스트 파일의 모든 문자를 특정 문자로 바꾸기

텍스트 파일의 모든 문자를 특정 문자로 바꾸기

다음과 같은 파일이 있습니다.

파일.txt

NNNP
PPZL
ZZNN

모든 문자를 "N"으로 바꾸고 입력과 동일한 줄 수의 출력을 갖고 싶습니다. (여기 파일에는 3줄이 있지만 실제로 내 파일에는 수천 줄이 있습니다.)

NNNN
NNNN
NNNN

실제로 다음을 사용하여 새 파일을 만들 수 있습니다.

printf %4s | tr " " "N" > file2.txt
yes "$(<file2.txt)" | head -n3

그러나 모든 문자를 한 번에 바꾸고 동일한 열과 행 행렬을 유지하는 보다 직접적인 방법이 있는지 아는 사람이 있습니까?

답변1

이를 달성하는 가장 간단한 방법은 다음과 같습니다 sed.

sed 's/[A-Z]/N/g' file.txt

( -i내부 파일 변경을 원하는 경우 추가).

추신. 위의 표현식은 대소문자를 구분합니다. 대소 문자를 구분하지 않고 바꾸려면 다음과 같이 사용하십시오.

sed 's/[A-Z]/N/Ig' file.txt

답변2

각 알파벳 문자를 문자로 바꾸려면 다음을 수행하십시오 N.

tr '[:alpha:]' N < file.txt > file2.txt

관련 정보