Как удалить часть строки?

Мне нужно удалить часть строки в группе файлов.

Пример строки:

TRN*1*301444/05-13-20*6549873211~

Мне нужно, чтобы это было вместо этого (удалите часть / 05-13-20 ):

TRN*1*301444*6549873211~

Необходимо удалить косую черту до последней звездочки и новую строку необходимо сохранить в файле.

0
18.11.2018, 08:49
2 ответа

Для этого можно использовать регулярные выражения. Они доступны на большинстве языков, но perl - это regex ] лидер. Есть много способов сделать то, что вы просили, с помощью регулярного выражения, но вот один пример:

perl -pi -e 's/\/.*\*/*/g' file.txt
0
28.01.2020, 02:47

С sed :

sed -n 's_/[^*]*__p'
  • / [^ *] * соответствует части из / uto next * , а затем заменяется на null, поскольку мы использовали пустую строку в замене

Пример:

% sed -n 's_/[^*]*__p' <<<'TRN*1*301444/05-13-20*6549873211~'
TRN*1*301444*6549873211~
2
28.01.2020, 02:47

Теги

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