我搜索了却找不到任何东西,也许我无法正确理解问题。 我有一个bash函数,可以读取当前目录和子目录中的文件,我正在尝试排列文本并分析数据,但是如果使用管道,我会以某种方式丢失行。 代码:
function recursiveFindReq {
for file in *.request; do
if [[ -f "$file" ]]; then
echo handling "$file"
echo ---------------with pipe-----------------------
cat "$file" | while read -a line; do
if (( ${#line} > 1 )); then
echo ${line[*]}
fi
done
echo ----------------without pipe----------------------
cat "$file"
echo
echo num of lines: `cat "$file" | wc -l`
echo --------------------------------------
fi
done
for dir in ./*; do
if [[ -d "$dir" ]]; then
echo cd to $dir
cd "$dir"
recursiveFindReq "$1"
cd ..
fi
done
}
输出为: losing lines even when they meet requirements
我用2个红色箭头标记了我丢失信息的地方