невозможно сохранить результаты команды поиска в файле - файл пуст - PullRequest
0 голосов
/ 12 октября 2011

Программа должна найти файл и вернуть, существует ли он в системе или нет, теперь я обнаружил, что команду find следует использовать, но так как эта команда будет инициироваться кодом (использующим System), мне нужно сохранить результаты в файле и, пытаясь на терминале, я не могу заставить его работать, результат не отображается в файле, я пытаюсь:

find / -name 'test2abc' 2>/dev/null -> res

Файл res пуст. Как это сделать правильно?

Также есть лучший способ сделать это, я должен напечатать детали файла, используя команду stat, если файл существует. Можно ли использовать команду stat juts для поиска файла во вложенных папках?

1 Ответ

4 голосов
/ 12 октября 2011

Часть -> res должна быть только > res.

Если вы попытаетесь выполнить такую ​​команду в командной строке:

find / -name 'test2abc' -> res

, она выдаст ошибку:

find: paths must precede expression: -

- не является частью какого-либо действительного перенаправления и, следовательно, передается find, который также не может его интерпретировать.

Может быть, целесообразно не подавлять сообщения об ошибках.Простым способом может быть перенаправление как stderr, так и stdout в файл следующим образом:

find / -name 'test2abc' > res 2>&1

Тогда ошибка о - была бы в файле с самого начала, как вы знали бы, что`очень быстро ошибаешься.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...