다음과 같은 파일이 있습니다.
파일.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