Регулярное выражение с sed

У меня есть трудное время, выбирая из файла с помощью регулярного выражения. Я пытаюсь заменить определенный текст в файле, который полон строк как это.

/home/user/test2/data/train/train38.wav/home/user/test2/data/train/train38.mfc

Я пытаюсь заменить полужирный текст. Проблемой является я, не знают, как выбрать только полужирный текст, так как я должен использовать .wav в своем regexp и имени файла, и местоположение файла также будет отличающимся.

Надежда можно помочь

С наилучшими пожеланиями, Jökull

1
задан user358620 4 June 2010 в 15:58
поделиться

1 ответ

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

sed 's|\([^/]*/\)[^/]*\(/[^/]* .*\)|\1FOO\2|' filename

производит:

/home/user/test2/data/FOO/train38.wav /home/user/test2/data/train/train38.mfc
1
ответ дан 3 September 2019 в 00:03
поделиться
Другие вопросы по тегам:

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