3
我以爲我找到了我的解決方案,因爲該命令在我的測試目錄中工作。grep命令在testdir中工作,但不在「真實」目錄中
grep -H -e 'author="[^"].*' *.xml | cut -d: -f1 | xargs -I '{}' mv {} mydir/.
但是在非測試豬病使用該命令的命令沒有工作: 這是錯誤消息:
grep: unknown option -- O Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information.
不會連這個工作:
$ grep -H author *.xml
或者這個:
$ grep -H 'author' *.xml
(同樣的錯誤信息)
我懷疑它與文件名或文件數有一些關係。 我在非測試目錄中有近3000個文件,而在我的測試目錄中只有20個文件。 在這兩個目錄中幾乎所有文件名都包含空格和「 - 」。
一些更多的信息:
- 我使用Cygwin。
- 我不允許更改文件名
非常感謝您的好建議! 現在至少解決了部分問題。 上帝的消息:grep不會抱怨,它會發現一個文件(帶有這個可怕的名字): !!導入設備 - 待完成later.xml 壞消息:grep未列出包含搜索字符串的所有文件 - 例如以單短劃線,雙短劃線和三下劃線開頭的文件: -OFF.xml - 操作。 xml ___查看列表 - menu.xml 我應該對變量IFS做些什麼嗎? /T – Tony 2010-07-16 14:02:54
@Tony:我認爲'grep'列出了這些文件,問題是'mv'。你也必須用'mv'來做' - '技巧。現在我將編輯答案來解決問題。如果有效,請接受我的回答! :) – 2010-07-16 19:34:43
是的,它的工作!好!/ T – Tony 2010-07-22 07:06:41