Что лучше между циклом for и циклом while для оболочки Korn

В переменных $ column1 и $ column2 в конце стоит новая строка, а команда sed выглядит так:

sed  "s/FILEDESCRIPTOR . DESCR00001
  /FILEDESCRIPTOR . DESCRIPTIVENAME
  /g" IMS_Procedures.txt

sed распознает это как незавершенную команду s.


Используйте вместо этого:

while read -r a b c d e f; do
  sed -i "s/$a $b $c/$d $e $f/g" IMS_Procedures.txt
done <file
  • read сохранить 6 полей в переменных от $ a до $ f
    • Затем sed заменяет первые 3 поля в виде строки, разделенной пробелами, с последними тремя в файле IMS_Procedures.txt . -i активирует редактирование на месте, при котором изменения записываются в файл, а не выводятся на экран.

Обратите внимание на . в sed будет соответствовать любому символу, а не только точке. Это должно быть предотвращено с помощью \. во входном файле .

0
28.11.2017, 15:05
0 ответов

Теги

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