Используйте sed для удаления, все вести/следовать пробелы в текстовом файле

При выполнении какого-либо вида репликации баз данных, GUID являются лучшим другом!

10
задан Brian Tompsett - 汤莱恩 4 July 2015 в 13:05
поделиться

3 ответа

You almost got it:

sed -e 's/^[ \t]*//;s/[ \t]*$//' a > c

Moreover on some flavours of sed, there is also an option for editing inline:

sed -i -e 's/^[ \t]*//;s/[ \t]*$//' a
14
ответ дан 3 December 2019 в 16:53
поделиться

easier way, using awk

awk '{$1=$1}1' file

or

awk '{gsub(/^ +|  +$/,"")}1' file
7
ответ дан 3 December 2019 в 16:53
поделиться
perl -lape 's/^\s+|\s+$//g'

Честно говоря, я знаю регулярные выражения Perl лучше всего, поэтому я считаю perl -lape намного проще в использовании, чем sed -e .

Кроме того,чтобы ответить на исходный вопрос, вы можете заставить sed выполнить несколько операций, подобных этой:

sed -e 's/something/something else/' -e 's/another substitution/another replacement/'

По-видимому, вы также можете поместить две подстановки в одну строку и разделить их точкой с запятой, как указано в другом ответе.

3
ответ дан 3 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

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