Мне особенно нужно удалить пятый символ из имен файлов Linux, используя «переименовать»

Как упомянул @steeldriver, вам нужно будет сбежать от ()вот так:

sed 's/"\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\) \([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\)"/"\1T\2+01"/g' test.csv > testnew.csv

Или используйте расширенное регулярное выражение с -E или -r в зависимости от вашей версии sed. Что также дает нам преимущество в том, что мы можем немного подчистить группы, не делая частокол :

.
sed -E 's/"([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})"/"\1T\2+01"/g' test.csv > testnew.csv

Я добавил '\2+01' в замену для обоих из них, так как кажется, что это необходимо для получения желаемого результата. Если я неправильно понял, вы, вероятно, захотите изменить это

0
10.10.2021, 16:00
0 ответов

Теги

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