Как получить список пользователей, не представленных в CSV-файле из / etc / passwd?

var=$((var + 1))

Арифметика в bash использует синтаксис $((...)).

1
задан 17 February 2016 в 05:18

1 ответ

Не так гладко, как решение муру, но другой способ с использованием comm, tr и cut и sort:

comm -13 <(<file tr ',' '\n' | sort) <(cut -d ':' -f 1 /etc/passwd | sort)
comm -13 <(<file tr ',' '\n' | sort) <(cut -d ':' -f 1 /etc/passwd | sort): сравнивает строки на выходе из <file tr ',' '\n' | sort и cut -d ':' -f 1 /etc/passwd | sort и печатает только строки, уникальные для cut -d ':' -f 1 /etc/passwd | sort; <file tr ',' '\n' | sort: читает STDIN из file, переводит запятую на новые строки и сортирует выходной файл; cut -d ':' -f 1 /etc/passwd | sort: печатает первое поле, разделенное двоеточиями, в каждой строке в /etc/passwd и сортирует выходной файл;

И еще один способ использования combine (в пакете moreutils: sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install moreutils), что позволяет сохранить пару команд sort (хотя, скорее всего, [ f19] все равно сортирует файлы):

combine <(cut -d ':' -f 1 /etc/passwd) NOT <(<file tr ',' '\n')
comm -13 <(<file tr ',' '\n' | sort) <(cut -d ':' -f 1 /etc/passwd | sort): сравнивает строки на выводах <file tr ',' '\n' | sort и cut -d ':' -f 1 /etc/passwd | sort и печатает только строки, уникальные для cut -d ':' -f 1 /etc/passwd | sort ; <file tr ',' '\n': читает STDIN из file и переводит запятые на новые строки; <file tr ',' '\n' | sort: читает STDIN из file, переводит запятые на новые строки и сортирует выходной файл;
2
ответ дан 23 May 2018 в 13:29
  • 1
    Спасибо вам ! Также работаю как шарм, и я только что узнал «комм» :) – Alexander 17 February 2016 в 05:34
  • 2
    Отвечая на один и тот же вопрос, я попросил Муру, если я хочу вывести всю строку и т. Д. Вместо сокращения, как я могу сделать с этой командой? – Alexander 18 February 2016 в 04:13
  • 3
    @Alexander Решение muru дало вам на самом деле самое лучшее, о котором я могу думать, оно должно заботиться почти обо всех случаях: askubuntu.com/questions/735576/… . – kos 18 February 2016 в 13:59
  • 4
    Спасибо за всю помощь, я не заметил его ответа. – Alexander 18 February 2016 в 18:38

Другие вопросы по тегам:

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