60
задан 31 March 2012 в 10:10

11 ответов

$ 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:]"
99
ответ дан 31 October 2019 в 17:17

Это - вероятно, самый простой способ сделать его:

sed -r 's/\s+//g' filename > output
mv ouput filename
2
ответ дан 31 October 2019 в 17:17

Намного более простой к моему мнению:

sed -r 's/\s+//g' filename
16
ответ дан 31 October 2019 в 17:17

Этот ответ подобен другому однако, поскольку некоторые люди жаловались, что вывод переходит к STDOUT, я просто собираюсь предложить перенаправить его в исходный файл и перезаписать его. Я обычно никогда не предлагал бы это, но иногда быстрые и грязные работы.

cat file.txt | tr -d " \t\n\r" > file.txt
1
ответ дан 31 October 2019 в 17:17

Если Вы хотите удалить ВЕСЬ пробел, даже новые строки:

perl -pe 's/\s+//g' file
4
ответ дан 31 October 2019 в 17:17

Попробуйте это:

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

(нашел здесь )

первая часть удаляет все вкладки (\t) и пробелы, и вторая часть удаляет все пустые строки

5
ответ дан 31 October 2019 в 17:17

Самый легкий путь ко мне->

        echo "Hello my name is Donald" | sed  s/\ //g
1
ответ дан 31 October 2019 в 17:17

Попробуйте это:

tr -d " \t" <filename

См. страницу справочника для TR (1) для получения дополнительной информации.

2
ответ дан 31 October 2019 в 17:17

хм... кажется, что что-то на порядке sed -e "s/[ \t\n\r\v]//g" < hello.txt должно быть на правильной приблизительной оценке (кажется, работает под cygwin в любом случае).

1
ответ дан 31 October 2019 в 17:17

Чувак, Просто 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()
2
ответ дан 31 October 2019 в 17:17

Я думаю, что можно использовать sed для вытирания пространства, не теряя некоторую информацию как изменение на другую строку.

cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'
11
ответ дан 31 October 2019 в 17:17

Другие вопросы по тегам:

Похожие вопросы: