[英]bash: grep in loop does not grep
我有一個(可能是顯而易見的/愚蠢的)問題:我想遍歷路徑列表,剪切路徑,然后使用字符串在日志文件中進行grep。 盡管每個步驟都可以正常運行並且“手動處理”會導致命中-grep在循環中找不到任何內容?
for FILE in `awk -F "/" '{print $13}' /tmp/files_not_visible.uniq`; do
echo -e "\n\n$FILE\n";
grep "$FILE" /var/log/PATH/FILENAME-2015.12.*;
done
我也嘗試做一會兒循環作為反向鍛煉,但由於沒有結果而失敗
while read FILE; do
echo $FILE;
echo $FILE | awk -F "/" '{print $13}' | grep -f - /var/log/PATH/FILENAME-2015.12.* ;
done < /tmp/files_not_visible.uniq/tmp/files_not_visible.uniq
所以,我想這是一個系統性的問題,我該如何使用grep處理搜索字符串?
發現它:文件列表中包含不可見字符作為該行的最后一個字符! 向我發送文件列表的用戶可能是在其他操作系統上創建的! 而且,我只在手工測試時才復制了-當然-可見字符!
通過使用剪切一行的最后一個字符來修復循環
> sed -e 's/.$//'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.