Надеюсь, вы мне поможете:
Вот одна из моих строк, которой я должен манипулировать со строкой:
./period/0.0.1/projectname/path/path/-rw-rw-r--filename.txt 2462
Где последнее число - размер файла, необходимый дляпоследующие вычисления.
Последовательность -rw-rw-r--
взята из выходного списка файлов, в котором я отделил файлы от каталогов и пропустил все строки, начинающиеся с "d".Теперь мне нужно избавиться от последовательности прав в строках.
Вот мое регулярное выражение, которое точно соответствует этой цели: [/][-][-rwx]{9,9}
Я проверил tat с помощью средства проверки регулярных выражений и получил именно то, что я хочу: строка/ - включая следующие 9 символов.
Что я хочу: заменить эту строку "/ - включая следующие 9 символов" одной косой чертой /.Чтобы избежать побега, я использую трубу как разделитель в sed.Следующая команда sed работает правильно:
sed 's|teststring|/|g' inputfile > outputfile
Проблема:
Когда я заменяю "testtring" на мое регулярное выражение, он ничего не манипулирует:
sed 's|[/][-][-rwx]{9,9}|/|g' inputfile > outputfile
Я не получаю никаких ошибок, но не имею никаких строковых манипуляций в файле результатов.
Что я здесь не так делаю ??