2015-04-02 3 views
-1

Это моя проблема. Использование sed удаляет только первый экземпляр точки с запятой на каждой строке и заменяет ее тире (-)использовать командование команды sed необходимо

Может ли кто-нибудь помочь мне понять это?

спасибо.

+0

Используйте 's /,/-/G'. . 'G' означает * глобально *. Если вы не укажете его, будет заменено только случайное совпадение – hek2mgl

+0

Спасибо. Итак, какая будет полная команда? –

+0

'sed 's /,/-/g' input' – hek2mgl

ответ

1

Если у вас есть это в файле с именем file

123;456;789;987;654;321 
aaa;bbb;ccc;ddd;eee;fff 

Эта команда

sed 's/;/-/' file 

даст вам этот

123-456;789;987;654;321 
aaa-bbb;ccc;ddd;eee;fff 
+0

Спасибо, человек, который помогает! –

+0

Эй, я попробовал то, что вы сказали, но я не могу заставить его работать. Не могли бы вы рассказать мне, как точно сделать эти файлы и точно выполнить команду? thank you –

+0

Выделите две строки выше мышью и нажмите Ctrl + C, чтобы скопировать. Нажмите на свой терминал и введите 'cat> файл' и нажмите Return/Enter. Теперь вставьте Ctrl + V, и появятся две строки. Теперь нажмите Ctrl + D, и вы создадите файл. Затем введите команду 'sed' и нажмите Enter/Return. Надеюсь, все. –

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