2014-11-05 2 views
0

У меня есть эта строка:Sed заменить пробелы и символ до конца строки

\\Server1\A Share & Test & Check M 

Я хочу этот вывод:

\\Server1\A Share & Test & Check 

Он должен заканчиваться символом, а не пространства (\\ Server1 \ Пай & Test & Check)

Я попытался это:

sed -i "s/[ *\t[a-z]]*$//I" shares.txt 

Удаляет последнюю букву, но не пробелы.

ответ

1

Регулярное выражение вы после \s*[a-z]*$

sed -i "s/\s*[a-z]*$//I" shares.txt 

\s для любого пробелу

+0

Я вижу спасибо – Eduardo

+0

В вашем примере последний находится в столице, поэтому включите 'A-Z' в регулярное выражение – Hackaholic

1

попробовать этот

echo "\\Server1\A Share & Test & Check M" | sed 's/[\tA-Za-z]*$//g' 

выход:

echo "\\Server1\A Share & Test & Check