programing

텍스트 파일에서 새 줄을 제거하려면 어떻게 해야 합니까?

javamemo 2023. 4. 15. 08:12
반응형

텍스트 파일에서 새 줄을 제거하려면 어떻게 해야 합니까?

저는 다음과 같은 데이터를 가지고 있으며, 모든 데이터를 한 줄로 정리해야 합니다.

이거 있어요.

22791

;

14336

;

22821

;

34653

;

21491

;

25522

;

33238

;

난 이게 필요해

22791;14336;22821;34653;21491;25522;33238;

편집

이들 명령어 중 어느 것도 완벽하게 동작하지 않습니다.

대부분의 경우 데이터는 다음과 같습니다.

22791

;14336

;22821

;34653

;21491

;25522
tr --delete '\n' < yourfile.txt
tr -d '\n' < yourfile.txt

편집:

여기에 표시된 명령어가 모두 작동하지 않으면 필드를 구분하는 줄바꿈 이외의 명령어가 있습니다.파일에는 DOS/Windows 행의 엔딩이 포함되어 있을 가능성이 있습니다(그 경우에도 Perl 솔루션은 동작합니다).

시험:

tr -d "\n\r" < yourfile.txt

그래도 문제가 해결되지 않으면 파일을 좀 더 자세히 검사하여(16진수 에디터 등) 삭제하려는 문자가 실제로 있는지 확인해야 합니다.

tr -d '\n' < file.txt

또는

awk '{ printf "%s", $0 }' file.txt

또는

sed ':a;N;$!ba;s/\n//g' file.txt

페이지에는, 그 외의 새로운 행을 삭제하는 방법이 많이 있습니다.

편집하여 고양이 학대 제거:)

perl -p -i -e 's/\R//g;' filename

그 일을 해야 한다.

이전 답변을 확장하면 모든 새 행이 삭제되고 결과가 새 파일에 저장됩니다(@tripleee 덕분에).

tr -d '\n' < yourfile.txt > yourfile2.txt

'쓸데없는 고양이'보다 나은 방법(댓글 참조):

cat file.txt | tr -d '\n' > file2.txt

말미에서 를 들어, 파일 행을 사용할 수 있습니다.echo blah > file.txt.

대상 파일 이름이 다르므로 중요합니다. 그렇지 않으면 원본 컨텐츠가 지워집니다.

paste -sd "" file.txt

vim에서 파일을 편집할 수 있습니다.

$ vim inputfile
:%s/\n//g

사용하다

head -n 1 filename | od -c 

'무엇을 공격하고 있는지'를 알아냅니다.그 후

tr -d '\n' <filename

LF의 경우

tr -d '\r\n' <filename

CRLF의 경우

POSIX 클래스에서 sed 사용

공백(스페이스와 탭)만을 포함한 모든 행이 삭제됩니다.

sed '/^[[:space:]]*$/d'

그냥 네가 하고 있는 일을 거기에 파이프로 연결해.

cat filename | sed '/^[[:space:]]*$/d'

또는 매우 nvim 을 할 수 .gJ는 그냥 사용 , 사용 예시는 그냥 사용 로 해주세요.

99gJ

99년은 할 수 있어요.99몇 줄에 가입하느냐에 따라 필요한 만큼.한 줄만 연결하면gJ분합니니다다

man 1 ed 사용:

# cf. http://wiki.bash-hackers.org/doku.php?id=howto:edit-ed 
ed -s file <<< $'1,$j\n,p'  # print to stdout 
ed -s file <<< $'1,$j\nwq'  # in-place edit

xargs는 새로운 행도 소비합니다(단, 최종적인 후행의 추가).

xargs < file.txt | tr -d ' '

Nerd 팩트: ASCII를 대신 사용합니다.

tr -d '\012' < filename.extension   

(같은 솔루션을 가진 빌어먹을 답변을 보지 못했기 때문에 편집했습니다만, 제 답변은 ASCII를 가지고 있었습니다.)

gedit 텍스트에디터 사용(3.18.3)

  1. [검색(Search)]을 클릭합니다.
  2. 찾기바꾸기...클릭합니다.
  3. 「」라고 입력합니다.\n\s[검색(Find)]필드로
  4. 공백으로 바꾸기(없음)
  5. [ Regular expression ]체크박스를 켜겠습니다
  6. [검색(Find)]버튼을 클릭합니다.

주의: 이것은 OP의 7년 전의 문제에 대해 정확하게 대처하는 것은 아니지만, 유사한 "텍스트를 한 줄에 모두 표시하는 방법"을 SE에서 찾아오는 몇몇 noob Linux 사용자(저와 같은 사용자)에게 도움이 될 것입니다.

$ perl - 0777 - pe 's/\n+/g' 입력 > 출력
$ perl - 0777 - pe 'tr/\n/d' 입력 > 출력

데이터가 파일에 있는 경우.그러면 txt:

echo $(<file.txt) | tr -d ' '

'$(<file.txt)'는 파일을 읽고 내용을 일련의 단어로 나타내며, 그 단어 사이에 공백으로 에코합니다.그런 다음 'tr' 명령을 실행하면 다음과 같은 공백이 삭제됩니다.

22791;14336;22821;34653;21491;25522;33238;

숫자 및 세미콜론만 유지한다고 가정할 경우, 다음과 같이 큰 인코딩 문제가 없다고 가정하고 마지막 "newline"도 삭제합니다.

$ tr -cd ";0-9"

예를 들어 소수점, 쉼표 등을 유지하려는 경우 위의 내용을 다른 문자를 포함하도록 쉽게 수정할 수 있습니다.

보통 파일에서 코드 스니펫을 복사할 때 불필요한 새 행을 추가하지 않고 콘솔에 붙여넣을 때 이 사용 사례가 발생합니다.그 결과 bash 에일리어스가 생성되었습니다.
(나는 그것을 불렀다.oneline궁금하시다면)

xsel -b -o | tr -d '\n' | tr -s ' ' | xsel -b -i
  • xsel -b -o내 클립보드를 읽다

  • tr -d '\n'새로운 회선을 삭제합니다.

  • tr -s ' '반복 공간을 삭제합니다.

  • xsel -b -i이것을 클립보드에 다시 밀어넣다

그 후 클립보드의 새로운 내용을 콘솔이나 다른 곳에서 온라인에 붙여넣습니다.

아악, 예컨대 난데없이.

awk '/[0-9]+/ { a = a $0 ";" } END { print a }' file.txt

(단점은 가 메모리에 「자극」되어 있는 것입니다).

편집

printf는 잊어버렸어!그래서 또

awk '/[0-9]+/ { printf "%s;", $0 }' file.txt

아니면 awk를 사용하여 다른 Awk에 이미 입력된 것을 사용하는 것이 더 나을 수도 있습니다.

특히 이상한 단어들을 수정하기 위해 GUI에서 이 작업을 수행해야 할 경우 가장 명확하고 빠른 답변을 놓치고 있습니다.

  • 열다.gedit

  • +, 를 입력하고,Find텍스트 박스\n및 인Replace with빈 공간그러면 체크박스를 채웁니다.Regular expression그리고 부라.

파일 끝에 있는 줄 바꿈도 제거하려면

python -c "s=open('filename','r').read();open('filename', 'w').write(s.replace('\n',''))"

내가 찾은 가장 빠른 방법:

  1. 명령줄에서 이 작업을 수행하여 vim을 엽니다.
  2. vim inputfile
  3. ":"를 누르고 다음 명령을 입력하여 모든 줄바꿈을 제거합니다.
  4. :%s/\n//g
  5. 일부 문자가 공백인 경우에도 공백을 제거하려면 이 항목을 입력하십시오.:%s/ //g
  6. 파일에 쓰는 것으로, 반드시 보존해 주세요.
  7. :w

같은 형식을 사용하여 다른 문자를 삭제할 수 있습니다.https://apps.timwhitlock.info/unicode/inspect과 같은 웹 사이트를 사용하여 누락된 문자를 확인할 수 있습니다. 또한 이 형식을 사용하여 볼 수 없는 다른 문자를 확인할 수도 있습니다. 또한 보이지 않는 다른 문자를 학습할 수 있는 도구도구를 사용하여 다른 문자를 학습할 수도 있습니다.

언급URL : https://stackoverflow.com/questions/3134791/how-do-i-remove-newlines-from-a-text-file

반응형