Однострочная оболочка-оболочка для простого sed
кода:
# Usage: foo <file2> <id> <column> <value>
foo() { sed -i "/^$2|/s/[^|]*/$4/$3" "$1" ; }
Пример:
foo file2 1001 2 Marios ; cat file2
Вывод:
1000|text1|text2|text3
1001|Marios|text5|text6
1002|text7|text8|text9
Есть несколько способов. Здесь уместны последний
, who
и ps
. последний
является наиболее полным для отслеживания текущих и прошлых входов в систему.
Из справочной страницы для last
(курсив добавлен):
Last перечислит сеансы указанных пользователей, ttys и хостов в обратном порядке времени. Каждая строка вывода содержит имя пользователя, tty , с которого был проведен сеанс, любое имя хоста, время запуска и остановки сеанса, а также продолжительность сеанса. Если сеанс все еще продолжается или был прерван из-за сбоя или завершения работы, последний будет обозначен .
...
Если не указаны пользователи, имена хостов или терминалы , последний выводит на печать запись обо всех входах и выходах из системы.
Таким образом, вместо отчетов только о текущих сеансах, последний
сообщает о всех входах и выходах.
Вы можете использовать команду who
. Чтобы просмотреть список пользователей, вошедших в систему:
who -u
Чтобы подсчитать все имена для входа и количество пользователей, вошедших в систему:
who -q
Или используйте команду wc
:
users | wc -w