обменяйтесь 2 строками в команде терминала файла

Я хочу подкачать 2 строки в файле

Вот пример

[ link ]( text ) 

Я хочу сделать его

[ text ]( link )

как я могу сделать это? я попробовал что-то в то время как, но я не могу сделать его

свяжитесь = http://something.com и т.д., текст может быть чем-либо

-1
задан 12 January 2015 в 11:22

2 ответа

$ echo "[ link ]( text )" | perl -pe 's/\[(.*?)\]\((.*?)\)/[$2]($1)/g'
[ text ]( link )
1
ответ дан 6 October 2019 в 04:37

В ударе, принимая заключение в скобки и пробел фиксируется, это сделает это:

a=$(echo "[ link ]( text )" | cut -d ' ' -f 4) ; b=$(echo "[ link ]( text )" | cut -d ' ' -f 2) ; echo "[ $a ]( $b )"

Вы могли сделать его короче, но надо надеяться этот путь ясен в том, как это работает. Если Вы хотите его как сценарий, заменяете входной текст "1$".

Для ввода от использования файла read вместо этого.

0
ответ дан 6 October 2019 в 04:37

Другие вопросы по тегам:

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