Так как вы специально просили sed
, вот.
$ sed -n '/^/!ba;/12346789/p}' inp
ID:c3e2
2018
ABC
12346789
RU
19010101
$
Код, аналогичный sed -Печатать строки, соответствующие диапазону шаблонов, если одна строка соответствует условию от @John1024
find
и вернуть 10 самых больших файлов, используяstat
:
find. \
-exec stat --printf '%s\t%y\t%U\t%n\0' {} + \
| sort -rnz | head -zn10 | xargs -0 -n1
Я не знаю, каким должно быть последнее обновленное имя , но это, вероятно, не имеет значения, поскольку то, что вы хотите, более или менее невозможно.
Файловые системы Linux не хранят информацию о том, какой UID внес последнее изменение, а только время. Таким образом, информация вообще недоступна в файловой системе.
Наилучший подход, вероятно, autitd
, протоколирование всех операций записи в системе (. Такой подход не делает систему быстрее, но вы можете вести журнал на RAM-диск (tmpfs )).