Равномерно отформатированный вывод

Для вставки--:

set -- -a "file1"  -a "file2" -s "subject" e1@email.com e2@mail.com

args=()
while getopts :a:s: opt; do 
    case $opt in 
        a) args+=( -a "$OPTARG" );; 
        s) args+=( -s "$OPTARG" );; 
    esac
done
shift $((OPTIND - 1))
args=( "${args[@]}" -- "$@" )

echo "${args[@]}"
-a file1 -a file2 -s subject -- e1@email.com e2@mail.com

Я не понимаю, что вы имеете в виду под:

globally modify mutt functionality to ignore "--" for identifying the email

Man-страница mutt явно предоставляет опции --для завершения.

-2
14.05.2021, 11:05
2 ответа
awk '{ print (/^[A-Z]/?$2 FS $1 : $0) }' infile

если строка была начата с прописной буквы ASCII, поменять местами столбцы, иначе вывести строку без изменений.

или сокращенно:

awk '/^[A-Z]/{ $0=$2 FS $1 }1' infile
1
28.07.2021, 11:32

Публикация этого ответа работает, только если он содержит только 2 столбца

awk '/^[A-Z]/{m=$1;$1=$2;$2=m}1' filename


output

awk '/^[A-Z]/{m=$1;$1=$2;$2=m}1' filename
123 ABC
456 DEF
789 GHI
0
28.07.2021, 11:32

Теги

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