Я получаю неожиданную ошибку токена `/bin/busybox.exe 'в sed. Как я могу решить это? - PullRequest
0 голосов
/ 20 мая 2019

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

header1=randomstring,header2=0000
body body body
header1=randomerstring,header2=00000

с помощью этой команды:

sed "s/header1=.*header2=/header1=teststring1.teststring2.$(date +%d%m%Y)teststring3,header2=/" file

, чтобы получить:

header1=teststring1.teststring2051919teststring3,header2=0000
body body body
header1=teststring1.teststring2051919teststring3,header2=00000

Когда я пытаюсь использовать цикл for (см. Ниже), чтобы применить вышеуказанную команду к нескольким файлам с одинаковым префиксом, я получаю эту ошибку: bash: syntax error near unexpected token `/bin/busybox.exe'.Как я могу это исправить?Также команда для одного файла выводит содержимое файла, я хотел бы удалить это, когда я перебираю файлы, я просто не уверен, что удалить.

Ниже приведена команда for loop, котораявыдает ошибку:

for file in fileprefix.*; sed "s/header1=.*header2=/header1=teststring1.teststring2.$(date +%d%m%Y)teststring3,header2=/" i; done

Опять ошибка bash: syntax error near unexpected token `/bin/busybox.exe'.

1 Ответ

1 голос
/ 20 мая 2019

Поместите do перед 'sed' в цикле, и оно должно работать; do и done приходят только парами.

...