С GNU grep
, построенным с поддержкой PCRE:
grep -Po '{\K[^}]*'
Или для последовательностей не -{}, включающих по крайней мере не -пробел:
grep -o '[^{}]*[^{}[:space:]][^{}]*'
Сpcregrep
:
pcregrep -o1 '{(.*?)}'
Если {...}
могут быть вложенными (, но сбалансированными):
pcregrep -o1 '{((?:[^{}]+|(?0))*)}'
При вводе типа:
{port1 {dev1 dev2} M1 s} {port1 dev1 M1 s}
Дает:
port1 {dev1 dev2} M1 s
port1 dev1 M1 s
Удалить первую строку и запустить
cat Law\ Data\ Test.csv | sed 's/,/ /g'| sed 's/^/cp /' >temp.sh
source temo.sh
rm temp.sh
awk -F'[,\r]' 'NR>1{ print "cp "$1".png "$2".png" }' 'Law Data Test.csv' | sh
Используйте запятую и возврат каретки в качестве разделителей полей, пропустите строку заголовка и напечатайте два поля с префиксом cp
и .png
суффиксами. Затем направьте вывод в sh для выполнения команд.