Вырезать и печатать определенные символы в awk

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

dpkg -l | egrep "^ii" | cut -d' ' -f3

dpkg -lпоказывает все установленные пакеты

egrep "^ii"удаляет те вещи, которые имеют только остаточные конфиги и на самом деле не установлены

cut -d' ' -f3просто удаляет другие столбцы вывода

Конечно, это не единственное, что вы должны сделать резервную копию, если вы делаете полную -резервную копию, но это не запрашивалось, поэтому я не упоминаю об этом

0
07.03.2020, 15:22
3 ответа

Метод 1

awk -F "," 'OFS=","{print $1,$2,substr($NF,29)}'  filename

Метод 2:

sed "s/\/.*\///g" filename

Метод 3:

#!/usr/bin/python
import re
k=re.compile(r'/.*/')
p=open('p.txt','r')
for i in p:
    print re.sub(k,"",i).strip()
0
28.04.2021, 23:21
awk -F '[,/]' '{print $1","$2","$NF}'

Или с использованиемOFS

awk -F '[,/]' -v OFS=',' '{print $1, $2, $NF}'
2
28.04.2021, 23:21

Вы также можете использоватьsed:

sed 's;/.*/;;' file

Или с cutиsed:

cut -d / -f1,5 file | sed 's;/;;'

cutиtr

tr '/' ',' < file | cut -d, -f1,2,7

Выход:

one,1,users.txt
two,2,users.txt

Для этот вход:

/one,/1,/home/steven/Transformation/users.txt 
/two,/2,/home/steven/Transformation/users.txt

Команда:

sed -E 's;(.*,)/.*/;\1;' file

Выход:

/one,/1,users.txt 
/two,/2,users.txt
2
28.04.2021, 23:21

Теги

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