Изменение формата содержимого

sedраствор:

sed -E "s/[^[:space:]']+\.localdomain/linux&/g" file

Пример вывода:

['linuxserver_primary01.localdomain', 'linuxserver_primary02.localdomain', 'linuxserver_primary03.localdomain']
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )
0
20.09.2020, 06:42
3 ответа

Вы можете легко сделать это с помощью цикла оболочки. Просто прочитайте пункты, а затем распечатайте их с кавычками. Единственная сложность заключается в том, чтобы напечатать "," в конце концов, кроме последнего... или перед всеми, кроме первого (, что оказывается проще ).

{
    read item
    printf "'%s'" "$item"
    while IFS= read -r item; do
        printf ", '%s'" "$item"
    done
    echo
} <infile.txt >outfile.txt
1
18.03.2021, 23:03
# if you need the space after comma
$ seq 10 | perl -pe 's/.+/"$&"/; s/\n/, / if !eof'
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"

# if space isn't required
$ seq 10 | sed 's/.*/"&"/' | paste -sd,
"1","2","3","4","5","6","7","8","9","10"

Используйте \x27вместо "в приведенных выше решениях, если вам нужна одинарная кавычка вместо двойных

3
18.03.2021, 23:03
$ awk '{printf "%s\047%s\047", sep, $0; sep=", "} END{print ""}' file
'show temperature all#Total Numbers Approved#g2/3', 'show temperature all#Total Numbers Approved#g2/2', 'show temperature all#Total Numbers Approved#g2/4', 'show temperature all#Total Numbers Approved#g0/2', 'show temperature all#Total Numbers Sent#g1/2', 'show temperature all#Total Numbers Sent#g1/3', 'show temperature all#Total Numbers Sent#g1/1', 'formulastat gpucores all parameter function-frames#formula:1#gpucores:11', 'formulastat gpucores all parameter function-frames#formula:1#gpucores:10', 'formulastat gpucores all parameter function-frames#formula:2#gpucores:10', 'formulastat gpucores all parameter function-frames#formula:2#gpucores:11', 'formulastat gpucores all parameter function-frames#formula:0#gpucores:8'
0
18.03.2021, 23:03

Теги

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