\n
공백으로 바꾸고 싶습니다.
입력하다file1
A\n
D\n
file2
내가 원하는 출력
A
D
다음 명령을 시도했지만 바꿀 수 없습니다.
cat OUT | tr '\n' ' '
답변1
좋은 답변이 많이 있습니다. sed 방식을 추가하겠습니다.
sed 's#\\n##g' file1 > file2
답변2
또 다른 방법은 첫 번째 문자만 사용하는 것입니다 cut
.
$ cut -c1 < input_file
A
D
답변3
게시물에서 :
다음 명령을 시도했지만 대체할 수 없습니다. 필요한 작업을 수행하십시오.
cat OUT | tr '\n' ' '
위 명령의 문제점은 다음과 같습니다.tr
\n
"줄바꿈"으로 이해됨
~에서맨페이지:
$ man tr | grep Interpreted -A 18
SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
따라서 지정하려면 \n
[백슬래시][n]을 지정해야 합니다. 즉,\\n
(위에 나열된 사양 참조) 따라서 다음 명령을 사용하십시오.
tr -s '\\n' ' '
다음을 사용 하여 cat
file1
리디렉션( >
)합니다 file2
.
cat file1 | tr -s '\\n' ' ' > file2
그러나 사용의 문제점은 EVERY 및 공백으로 tr
변환된다는 것입니다.\
n
.
그래서 나는 다음을 사용하는 것이 좋습니다.sed
다음과 같이:
명령 바꾸기 sed
( sed 's/old-string/new-string/g' in > out
):
sed 's/\\n/ /g' file1 > file2
여기서는 \n
(전체 단어)만 공백으로 변환됩니다.
답변4
당신은 그것을 사용할 수 있습니다tr
tr -d '\\n' < input_file > output_file