Bash
將 grep 重定向到文件不起作用
我正在通過以下命令執行遞歸 grep:
grep -r "load" . > tmp.txt
但是,當我按 Enter 鍵時,命令不會執行,bash 正在等待更多輸入。我的作業系統是 Ubuntu 12.04。
我已經檢查了以下兩個答案,但它們無法解決我的問題。
我也使用 Ubuntu 12.04,我得到這個錯誤:
$ grep -r 'test' . > tmp.txt grep: input file `./tmp.txt' is also the output
因為重定向會先展開,所以在執行
tmp.txt
之前會在目前目錄下創建grep
,導致出錯。如果我更改
tmp.txt
為其他路徑,例如/tmp/tmp.txt
,則它可以正常工作。我的
grep
版本:$ grep --version grep (GNU grep) 2.10 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.