Я новичок в сценариях Unix, и я пытаюсь написать скрипт, который должен иметь возможность добавлять новый символ строки и печатать значения внутри переменной в новую строку, вместо той же строки ,Вставить новую строку в переменную unix после некоторого регулярного выражения
Поскольку данные являются динамическими и могут содержать гораздо больше строк, а всего лишь один, я должен добавить в него цикл и некоторые условия, чтобы сохранить значения в переменной в новой строке.
Строки, которые будут храниться в переменной в новом формате строки:
"CA 1938" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "CA 1937" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "CA 1934" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Мое мышление было написать некоторые сравнения регулярных выражений и использовать, чтобы запустить вставку новой строки в этом varaiable.Below это код, с которым Я хочу добиться этой операции.
var="CA 1938 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX CA 1937 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX CA 1934 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
for i in $var; do
#echo $i
p="$p"$'\n'"$i"
done
echo "$p"
Ожидаемый выход
CA 1938 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CA 1937 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CA 1934 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Фактический выход
CA
1938
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CA
1937
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CA
1934
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Так выше фактический выход подходит, потому что $i
это все строковые значения, которые разделены пробелами. Не могли бы вы помочь мне в получении того, что я ищу. На самом деле это CA (номер задания) и XX (описание задачи).
Я думаю, что ваш пример сломана. Вы определяете 'var', используя обратные ссылки, и никогда не используете его. Кроме того, 'p' и' i' никогда не определяются. Я также сомневаюсь, что «do ... done» был преднамеренным без цикла. –