2016-11-02 4 views
1

Представьте У меня есть строка, как:Удалить определенную часть строки, включая специальные символы из строки

* This could be any text really - maybe even with strange characters --skip-ci 

Из этой строки, используя sed в моем Баше я хочу, чтобы удалить возможно ВОЗНИКАЮЩИЕ --skip-ci части. Мне удалось встретить регулярное выражение, используя границу слова, чтобы удалить часть skip-ci.

Это выглядит следующим образом: \bskip-ci\b

К сожалению, это не работает в моей Баш, и это не приведет к удалению -- а (С его помощью нравится: sed '\bskip-ci\b').

Если вы можете дать мне подсказку, что искать, это было бы высоко оценено!

ответ

1

Вы можете использовать:

sed s/'--skip-ci'/''/g test.txt 

выход:

2016-11-02 16:45:29 ☆ DESKTOP in ~ 
    ○ → more test.txt 
* This could be any text really - maybe even with strange characters --skip-ci 

2016-11-02 16:45:58 ☆ DESKTOP in ~ 
    ○ → sed s/'--skip-ci'/''/g test.txt 
* This could be any text really - maybe even with strange characters 
+0

Работа, как и ожидалось, спасибо. Вы можете захотеть добавить тот же вывод, не сохраняя его в файле. В конце концов это выглядит так же без 'test.txt'. Кроме этого, отлично! Благодарю. Принимая ваш ответ за 7 минут;) –

+0

@PhilippMeissner 'test.txt' - это файл, на котором работает sed. Рад, что это помогло –

+0

Почему бы вам не сохранить все в одинарных кавычках? – 123

Смежные вопросы