использовать оболочку для перебора файла
У меня есть два входных файла. У каждого есть список имен, форма mm: dd, продолжительность использования и другие вещи имени хоста в каждой строке. Другой - тот, который я сгенерировал, у которого есть набор имен в каждой строке, который не повторяется. Я пытаюсь написать команду оболочки для итерации файла со списком имен, сохранить их как переменную и проверить другой файл на соответствие имени, а затем вывести общую продолжительность использования для каждого человека, а затем вывести файл, содержащий и Информация. Могу ли я в любом случае использовать awk или что-нибудь еще для работы?
Я понял команду: для слова в $ (список имен кота); сделать эхо $ word; сделано, но это только для перебора одного файла. То, что я хочу сделать, это что-то вроде этого:
for word in namelist.txt:
for words in info_file.txt (field $1):
if word == words:
(calculating usage of time)
print(word, ':', usage of time)
Я уже разобрался с кодами для расчета использования времени. Это просто, как сделать эту операцию, которая сейчас является моей проблемой. Кто-нибудь может помочь?
----------------- дальнейшее объяснение Итак, у меня есть один файл, содержащий информацию о времени, которое пользователь потратил на вход в хост, что каждая строка имеет информацию о имени, дате ( мм: дд: чч: мм), начальное время, время окончания, продолжительность и имя хоста. Чего я хочу добиться - вывести файл с каждым месяцем в качестве заголовка (например, [апрель]), а затем рассчитать продолжительность времени каждого пользователя, который входит в систему на хосте. Они могут иметь несколько имен входа, поэтому их имена появляются несколько раз с другой информацией в каждой строке. Я сгенерировал этот файл, в котором есть все имена пользователей, которые были авторизованы за последние полгода. Я пытаюсь сгенерировать выходной файл с каждым именем месяца в качестве заголовка и сгруппировать по месяцам, а затем сопоставить имена в файле с созданным мной списком имен, чтобы рассчитать их продолжительность и распечатать в выходном файле в той же строке с их имя напечатано. Я уже разобрался, как делать расчеты. Так что сейчас это просто как мне сделать шаги сопоставления имен, что смущает меня
входной файл:
sdou pts/11 Thu Dec 10 05:24 - 12:11 (2+06:46) 131.243.186.99
sdou pts/10 Thu Dec 10 05:04 - 12:11 (2+07:06) 131.243.186.99
sdou pts/9 Thu Dec 10 03:26 - 12:11 (2+08:45) 131.243.186.99
ermartin pts/0 Sat Dec 12 12:37 - 13:44 (01:06) c-24-130-14-154.hsd1.ca.comcast.net
ermartin pts/0 Sat Dec 12 12:18 - 12:31 (00:13) c-24-130-14-154.hsd1.ca.comcast.net
образец вывода:
[Dec]
sdou 94.xxxhours
ermartin 1.19hours