как использовать grep для определенных файлов?

.py расширение является ненужным для того, чтобы запустить скрипт. Только необходимо сделать исполняемый файл сценария (например, путем выполнения chmod a+x script) и добавьте строку хижины (#!/usr/bin/env python).

4
25.12.2012, 08:14
2 ответа

Если Вы хотите использовать свой путь, попробуйте, возможно:

ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}

или с find Я сделал бы:

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;

В команде находки не забывайте завершенную точку с запятой. Также обратите внимание, что находят работы почти таким же путем как xargs при использовании с - исполнительная опция.

5
27.01.2020, 20:52
  • 1
    схемы не работает :( grep: invalid option -- - Usage: grep [OPTION]... PATTERN [FILE]... Try grep - помогите' для получения дополнительной информации'. –  VextoR 25.12.2012, 08:31
  • 2
    да, Вам нужен awk для печати правого столбца, который содержит имя файла, если Вы хотите использовать xargs. –  ixtmixilix 25.12.2012, 08:38
  • 3
    , когда я использую, находит, что говорит: недопустимый предикат-newermt –  VextoR 25.12.2012, 08:43
  • 4
    Вы копировали и вставляли команду выше? это хорошо работает для меня. также, что ОС - Вы выполнение и какая версия находки - Вы использование (find -version). в моем случае я использую find (GNU findutils) 4.4.2 –  ixtmixilix 25.12.2012, 09:40
  • 5
    Вы копировали и вставляли команду выше? это хорошо работает для меня. также, что ОС - Вы выполнение и какая версия находки - Вы использование (find -version). в моем случае я использую find (GNU findutils) 4.4.2 ---------121 выпуск 5.8--------124360----Сервера Linux Red Hat Enterprise (Tikanga), 2.6.18-308.1.1.el5 GNU находит версию 4.2.27 –  VextoR 25.12.2012, 09:43

Если Вы пытались найти некоторые файлы, который был изменен в определенную дату,

не было бы никакой потребности в канале, (ls использование изменяют время по умолчанию),

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -iname '*some_string*'

1
27.01.2020, 20:52
  • 1
    это говорит: find . -type f -newermt 2012-12-24 ! -newermt 2012-12-25 -iname '*50424876*' find: invalid predicate - newermt'' –  VextoR 25.12.2012, 08:33

Теги

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