Bash:检查条目是否为一行的本地方式?
发布时间:2020-12-16 01:52:45 所属栏目:安全 来源:网络整理
导读:我有一个find脚本,如果只找到一个文件,它会自动打开一个文件.我目前处理它的方式是对搜??索结果的行数进行字数统计.有更简单的方法吗? if [ "$( cat "$temp" | wc -l | xargs echo )" == "1" ]; then edit `cat "$temp"`fi 编辑 – 这是整个脚本的上下文. t
我有一个find脚本,如果只找到一个文件,它会自动打开一个文件.我目前处理它的方式是对搜??索结果的行数进行字数统计.有更简单的方法吗?
if [ "$( cat "$temp" | wc -l | xargs echo )" == "1" ]; then edit `cat "$temp"` fi 编辑 – 这是整个脚本的上下文. term="$1" temp=".aafind.txt" find src sql common -iname "*$term*" | grep -v 'src/.*lib' >> "$temp" if [ ! -s "$temp" ]; then echo "? - including lib..." 1>&2 find src sql common -iname "*$term*" >> "$temp" fi if [ "$( cat "$temp" | wc -l | xargs echo )" == "1" ]; then # just open it in an editor edit `cat "$temp"` else # format output term_regex=`echo "$term" | sed "s%*%[^/]*%g" | sed "s%?%[^/]%g" ` cat "$temp" | sed -E 's%//+%/%' | grep --color -E -i "$term_regex|$" fi rm "$temp" 解决方法
除非我误解,变量$temp包含一个或多个文件名,每行一个,如果只有一个文件名则应该编辑?
[ $(wc -l <<< "$temp") = "1" ] && edit "$temp" 如果$temp是包含文件名的文件: [ $(wc -l < "$temp") = "1" ] && edit "$(cat "$temp")" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |