Unix, помогите с файлами - PullRequest
       33

Unix, помогите с файлами

0 голосов
/ 28 апреля 2011

У меня есть два файла данных, которые создаются сценарием и хранятся в каталоге. Есть ли способ узнать, что происходит с файлами после его создания? Как я могу это выяснить ... еще одна вещь, что команда ищет определенное слово во всех файлах в одном каталоге, я попробовал grep -r .. у меня не работает .. любое другое предложение ..

Ответы [ 4 ]

1 голос
/ 28 апреля 2011

Вы можете отслеживать файлы, используя inotifywait(1).

inotifywait эффективно ждет изменения в файлах

Подходит для ожидания изменений к файлам из сценариев оболочки

0 голосов
/ 28 апреля 2011

Не понимаю ваш первый вопрос. Но для вашего второго вопроса, чтобы найти слово в файлах в каталоге,

Чистый раствор оболочки

shopt -s nullglob
for file in *
do
  while read -r line
  do
     case "$line" in
        *searchword*) echo "$file: $line";;
     esac
  done < "$file"
done

Использование grep

grep -l "pattern" *

Использование awk

awk '/pattern/{print FILENAME": "$0}' *
0 голосов
/ 28 апреля 2011

Для второго вопроса:

find . | xargs grep word_to_search

Он будет рекурсивно перечислять все файлы из текущего каталога (.).Затем он дает их в качестве входных данных для grep.

. Для первого вопроса: если вы намерены постоянно следить за изменениями файлов, вы можете использовать svn.

0 голосов
/ 28 апреля 2011

Я согласен с другими, первая часть вашего вопроса слишком расплывчата.Почему бы не добавить некоторые детали, такие как «Я ожидал, что файл изменится как XXXX», как я могу это подтвердить? »

Вы написали

, какая команда ищет определенное слово во всех файлахв одном каталоге

Просто используйте обычный grep, то есть

cd myDataDir
grep 'searchTarget' *

Надеюсь, это поможет.

PS, как вы, кажется, новый пользователь, если выполучите ответ, который поможет вам, не забудьте пометить его как принятый и / или дать ему + (или -) в качестве полезного ответа.

...