Прокрутка к предыдущим экранам сеанса экрана в Putty

$ cat file
123,A,B,,,,AC,DF,,,,,,,,,,,,n
567,A,B,,C,D,,,,,,,,, 7
89,C,B
$ awk -F, 'BEGIN { OFS = FS } { for (i = 2; i <= NF; ++i) if ($i != "") print $1, $i }' file
123,A
123,B
123,AC
123,DF
123,n
567,A
567,B
567,C
567,D
567, 7
89,C
89,B

Это предполагает, что данные представлены в простом формате CSV, который не требует никаких кавычек (никаких встроенных запятых или новых строк в любом поле ). Код awkпросто перебирает разделенные запятыми -поля каждой строки, начиная с поля 2, и печатает их вместе с первым полем на новых строках. Пустые поля игнорируются. Если вы не хотите игнорировать пустые поля (неясно в вопросе ), удалите бит if ($i != "")в коде.

-121 ---206540 ​​-

Вы должны использовать man 1 bash:

Маленький пример:

#!/bin/bash

while getopts "a:b:" opt      # get options for -a and -b ( ':' - option has an argument )
do
    case $opt in
        a) echo "Option a: $opt, argument: $OPTARG";;
        b) echo "Option b: $opt, argument: $OPTARG";;
    esac
done
1
20.07.2021, 12:28
0 ответов

Теги

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