У меня есть трудное время, выбирая из файла с помощью регулярного выражения. Я пытаюсь заменить определенный текст в файле, который полон строк как это.
/home/user/test2/data/train/train38.wav/home/user/test2/data/train/train38.mfc
Я пытаюсь заменить полужирный текст. Проблемой является я, не знают, как выбрать только полужирный текст, так как я должен использовать .wav в своем regexp и имени файла, и местоположение файла также будет отличающимся.
Надежда можно помочь
С наилучшими пожеланиями, Jökull
Это предполагает, что то, что вы хотите заменить, это строка между двумя последними косыми чертами в первом пути.
sed 's|\([^/]*/\)[^/]*\(/[^/]* .*\)|\1FOO\2|' filename
производит:
/home/user/test2/data/FOO/train38.wav /home/user/test2/data/train/train38.mfc