Я пытаюсь сделать цикл while в bash-скрипт, но я не знаю, что происходит с ed (текстовым редактором), когда я пытался вставить varible в свои аргументы. Как вы можете видеть, я также использую цикл, но проблема заключается в использовании varibles внутри команды ed.Как вставить переменную 2 в аргумент команды ed?
Вот код сценария (очевидно, что AWK и СЕПГ программы):
#!/bin/bash
x=1
y=5
SCRIPTDIR=~/bin
awk 'NR % 2==0' test > output1
awk -v n=5 '1; NR % n == 0 {print ""}' output1 > output1b
sed -i 's/\r//' output1b
while [ $x -le 50 ]; do
ed -s output1b <<< $"$xm$y\nw"
let x=x+5
let y=y+5
done
Большое спасибо Гленн, второй вариант был хорош для меня. Я должен изучить руководство bash (цитаты, особые персонажи ....), но я начинаю. – git
Хорошо прочитать раздел [quoting] (http://www.gnu.org/software/bash/manual/bashref.html#Quoting) и [перенаправления] (http://www.gnu.org/software /bash/manual/bashref.html#Redirections) (применимо здесь) и ознакомьтесь с порядком [расширений оболочки] (http://www.gnu.org/software/bash/manual/bashref.html#Shell- Расширения) –
@glennjackman Я смотрю это более 5 часов, большое вам спасибо! –