Разобрать файл в .aliasrc - PullRequest
       9

Разобрать файл в .aliasrc

0 голосов
/ 23 сентября 2018

Я хочу преобразовать строку, заданную в этой форме:

xyx some commands

в эту форму:

alias xyz="some commands"

Я пробовал разные комбинации в терминале.Кажется (я не уверен), что это сработало один раз, но никогда, когда я запускаю это из скрипта.Я где-то читал, что это проблема переменной.

Псевдоним для читабельности:

alias first="sed 's/\s.*//'" 
alias rest="sed 's/\S*\s*//'"

cat  f_in | tee -a >(one=$(first)) >(two=$(rest)) | tee >(awk '{print "alias "$1"=\""$2"\""}' > f_out )

Я использовал awk таким образом, чтобы разобрать "cat f_in" в "print».Не работаетЗатем я использовал "awk -v", но он все еще не работает.Как перенаправить переменные $one и $two в awk:

{one=$(first) === first | read -r one}?

1 Ответ

0 голосов
/ 23 сентября 2018

Это то, что вы пытаетесь сделать:

$ echo 'xyx some commands' |
awk '{var=$1; sub(/^[^[:space:]]+[[:space:]]+/,""); printf "alias %s=\"%s\"\n", var, $0}'
alias xyx="some commands"

$ echo 'xyx some commands' |
sed 's/\([^[:space:]]*\)[[:space:]]*\(.*\)/alias \1="\2"/'
alias xyx="some commands"
...