Когда нужно быстро подправить текст в пайплайне, не обязательно тянуть awk или Python. Три старые утилиты часто закрывают задачу в одну строку:
cut - вырезать нужные поля
paste - склеить строки/колонки
tr - заменить или удалить символы
1️⃣ cut - достать нужный столбец. Например, из
/etc/passwd взять только логины:
cut -d: -f1 /etc/passwd
-d: - разделитель-f1 - первое полеНесколько полей:
cut -d: -f1,7 /etc/passwd
2️⃣ tr - заменить символы. Поменять запятые на пробелы:
echo "a,b,c" | tr ',' ' '
Удалить символы:
echo "a-b-c" | tr -d '-'
Сделать lowercase - uppercase:
echo "bash rocks" | tr '[:lower:]' '[:upper:]'
3️⃣ paste - склеить строки в одну. Есть файл:
one
two
three
Сделать CSV-строку:
paste -sd, file.txt
Результат:
one,two,three
Склеить два файла построчно:
paste users.txt shells.txt
▪️ Комбинируем. Из
/etc/passwd достанем логины и склеим в одну строку:
cut -d: -f1 /etc/passwd | paste -sd,
Или список пакетов в uppercase:
cut -d' ' -f1 packages.txt | tr '[:lower:]' '[:upper:]'
BashTex 📱 #bash #utils