Доберитесь 'меньше' для отображения имени файла

Безусловно самый легкий метод должен использовать zsh и его спецификаторы шарика: Om к виду путем уменьшения возраста (т.е. самый старый первый) и [1,3] сохранить только первые три соответствия.

rm ./*(Om[1,3])

См. также, Как я фильтрую шарик в zsh для большего количества примеров.

И действительно учтите совет l0b0: Ваш код повредится ужасно, если у Вас будут имена файлов, которые содержат специальные символы оболочки.

4
17.06.2013, 20:43
2 ответа

Почему канал less во что-нибудь? Это поворачивает его в cat. Очевидный ответ

grep some_var * | less

Вы получите вывод формы

filename:this line contains some_var somewhere

Если Вы передаете опцию -n кому: grep, Вы также получаете номера строки:

filename:42:this line contains some_var somewhere

У многих редакторов есть некоторая форма встроенного поиска файла с результатами поиска, появляющимися в окне, где можно выбрать строку для открытия соответствующего файла в соответствующем местоположении. В Emacs, выполненном M-x grep или один из его вариантов. В Vim, выполненном :grep или один из его вариантов.

7
27.01.2020, 20:47
  • 1
    Спасибо, я предполагаю, что не мог думать наоборот, я всегда использую grep в некоторой другой ситуации как своего рода 'помощник управляют', не понимая, что я мог использовать ее самостоятельно точно также. Дополнительные очки для -n опция, довольно удобная. –  kasimir 17.06.2013, 21:04

less действительно не предназначен для того, чтобы сделать то, что Вы пытаетесь сделать; это для отображения файлов длинного текста в нумеровавшем страницы формате.

grep позволяет, чтобы файл или список файлов были переданы как параметр командной строки, таким образом, можно просто сделать

grep -H some_var *

который даст Вам вывод, который похож на это потому что -H префиксы опции имя к результату:

filename: some_var blah blah

Если Вы все еще хотите передать его по каналу в less так, чтобы можно было просмотреть его путем прокрутки, Вы можете сделать это.

grep -H some_var * | less

Другая рекомендация для захвата через многочисленные файлы ack или ack-grep как известно в системах Debian. Это разработано для поиска исходных деревьев справедливо быстро путем игнорирования двоичных файлов и также требует, чтобы меньше нажатий клавиш сделало подобные поиски.

5
27.01.2020, 20:47
  • 1
    Одинаково правильная, положительная сторона у цели less будучи для отображения файлов длинного текста. камера –  kasimir 17.06.2013, 21:06
  • 2
    , если шаблон шарика (* в этом случае), соответствует только 1 файлу, grep не отобразит имя файла, таким образом, необходимо будет вызвать его: grep -H –  sendmoreinfo 18.06.2013, 12:07
  • 3
    @sendmoreinfo: Спасибо, положительная сторона. Включенный это. –  j883376 18.06.2013, 13:50

Теги

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