Program Tip

주어진 텍스트 파일에서 모든 공백을 제거하는 방법

programtip 2020. 12. 3. 19:07
반응형

주어진 텍스트 파일에서 모든 공백을 제거하는 방법


주어진 텍스트 파일에서 모든 공백을 제거하고 싶습니다. 이에 사용할 수있는 셸 명령이 있습니까? 또는 sed이러한 목적 으로 사용하는 방법 .

나는 아래와 같은 것을 원한다.

$ cat hello.txt | sed ....

나는 이것을 시도했다 : cat hello.txt | sed 's/ //g'. 그러나 그것은 탭이 아닌 공백 만 제거합니다.


$ man tr
NAME
    tr - translate or delete characters

SYNOPSIS
    tr [OPTION]... SET1 [SET2]

DESCRIPTION
   Translate, squeeze, and/or delete characters from standard 
   input, writing to standard output.

줄 바꿈을 포함한 모든 공백을 지우려면 다음을 시도하십시오.

cat file.txt | tr -d " \t\n\r" 

tr ( htompkins 주석에 대한 크레딧)으로 정의 된 문자 클래스를 사용할 수도 있습니다 .

cat file.txt | tr -d "[:space:]"

예를 들어 수평 공백 만 지우려면 다음을 수행하십시오.

cat file.txt | tr -d "[:blank:]"

내 의견보다 훨씬 간단합니다.

sed -r 's/\s+//g' filename

다른 줄로 변경하는 것과 같은 정보를 잃지 않으면 서 공간을 지우려면 sed를 사용할 수 있다고 생각합니다.

cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'

이 시도:

sed -e 's/[\t ]//g;/^$/d' 

( 여기 에서 찾았 습니다 )

첫 번째 부분은 모든 탭 ( \t)과 공백을 제거하고 두 번째 부분은 모든 빈 줄을 제거합니다.


모든 공백, 심지어 개행 을 제거하려면 :

perl -pe 's/\s+//g' file

이것은 아마도 가장 간단한 방법 일 것입니다.

sed -r 's/\s+//g' filename > output
mv ouput filename

이 시도:

tr -d " \t" <filename

자세한 내용은 tr (1) 맨 페이지를 참조하십시오.


야, 터미널에서 그냥 python test.py.

f = open('/home/hduser/Desktop/data.csv' , 'r')

x = f.read().split()
f.close()

y = ' '.join(x)
f = open('/home/hduser/Desktop/data.csv','w')
f.write(y)
f.close()

흠 ... 순서대로 뭔가 sed -e "s/[ \t\n\r\v]//g" < hello.txt가 올바른 야구장 있어야하는 것 같습니다 (어쨌든 cygwin 아래에서 일하는 것 같습니다).


나를위한 가장 쉬운 방법->

        echo "Hello my name is Donald" | sed  s/\ //g

이 답변은 다른 답변과 유사하지만 일부 사람들은 출력이 STDOUT으로 이동한다고 불평했기 때문에 원본 파일로 리디렉션하고 덮어 쓰도록 제안합니다. 나는 일반적으로 이것을 제안하지 않지만 때로는 빠르고 더러운 일을 제안합니다.

cat file.txt | tr -d " \t\n\r" > file.txt

참고URL : https://stackoverflow.com/questions/9953448/how-to-remove-all-white-spaces-from-a-given-text-file

반응형