如何從BASH腳本強制查詢輸出到文件中?bash,如何標準輸出到文件
我已經試過
> file.txt
| >> file.txt
和幾個
我一直吹出來的語法錯誤,或只是將無法正常工作。
find fixed/pdf/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "Ascend"' \; | 2>&1 dump.txt
如何從BASH腳本強制查詢輸出到文件中?bash,如何標準輸出到文件
我已經試過
> file.txt
| >> file.txt
和幾個
我一直吹出來的語法錯誤,或只是將無法正常工作。
find fixed/pdf/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "Ascend"' \; | 2>&1 dump.txt
您可以使用:
find fixed/pdf/ -name '*.pdf' -exec sh -c 'pdftotext "$1" - |
grep --with-filename --label="$1" --color "Ascend"' - '{}' \; > dump.txt 2>&1
要標準輸出和標準錯誤重定向到文件dump.txt
。
請注意'{}'不是用於這種方式!這是非常不安全的,並使命令受到代碼注入。有近300k的代表,你也應該提到這一點,並展示如何正確使用'{}'''''。此外,它也是錯誤的,正如POSIX指定的那樣:_如果utility_name或參數字符串包含兩個字符「{}」,而不是兩個字符「{}」,則它是實現定義的,find是替換這兩個字符還是使用字符串沒有改變._ –
謝謝,是的,這是非常有效的一點。我現在編輯它。 – anubhava
代替'| | 2>&1 dump.txt'嘗試'> dump.txt 2>&1' – anubhava
@doh什麼'find fixed/pdf/-name'* .pdf'-exec sh -c'pdftotext「{}」 - | grep --with-filename --label =「{}」--color「Ascend」';產生沒有重定向? – BroSlow