$ 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 > output
mv ouput filename
Намного более простой к моему мнению:
sed -r 's/\s+//g' filename
Этот ответ подобен другому однако, поскольку некоторые люди жаловались, что вывод переходит к STDOUT, я просто собираюсь предложить перенаправить его в исходный файл и перезаписать его. Я обычно никогда не предлагал бы это, но иногда быстрые и грязные работы.
cat file.txt | tr -d " \t\n\r" > file.txt
Если Вы хотите удалить ВЕСЬ пробел, даже новые строки:
perl -pe 's/\s+//g' file
Попробуйте это:
sed -e 's/[\t ]//g;/^$/d'
(нашел здесь )
первая часть удаляет все вкладки (\t
) и пробелы, и вторая часть удаляет все пустые строки
Самый легкий путь ко мне->
echo "Hello my name is Donald" | sed s/\ //g
Попробуйте это:
tr -d " \t" <filename
См. страницу справочника для TR (1) для получения дополнительной информации.
хм... кажется, что что-то на порядке sed -e "s/[ \t\n\r\v]//g" < hello.txt
должно быть на правильной приблизительной оценке (кажется, работает под cygwin в любом случае).
Чувак, Просто 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 для вытирания пространства, не теряя некоторую информацию как изменение на другую строку.
cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'