shell常用命令文件夹遍历

1:遍历文件夹下面所有文件,并输出到path.path文件中
#!/bin/bash
function getdir(){
for element in `ls $1`
do
dir_or_file=$1"/"$element
if [ -d $dir_or_file ]
then
getdir $dir_or_file
else
echo $dir_or_file >> path.path
fi
done
}
root_dir="./"
getdir $root_dir


2:提取文件中包含某字段的一行
#!bin/bash
word="opencv_similar_result"
cat ./path.path | while read line
do
#echo $line
if [[ $line == *$word* ]]
then
echo $line
cat $line | while read value
do
echo $value
a=`echo $value | awk '{print $6}'` #将输出的值赋给某变量,这样就可以继续进行操作
if [ $a -gt 0 ]; then
echo $line >> result.txt
echo $value >> result.txt
fi
echo $a
done
fi
sleep 0.05
done
3:判断参数
#!/bin/bash
# Copyright (c) 2015 SHUMEI Inc. All Rights Reserved.
# Authors: Chuanfeng Liu <lsp@ishumei.com>

dirpath=$(cd `dirname $0`;pwd)
#echo $dirpath
export LD_LIBRARY_PATH="$dirpath/ccgo/lib:$LD_LIBRARY_PATH"
#echo $LD_LIBRARY_PATH

if [[ "$1" == "" ]];then
echo "warning: need image path"
fi

./imageHash --image_filename=$1

4:循环执行某二进制文件
#!/bin/bash
for((i=1;i<=8;i++));
do
./hash_test ./相似图片/有缘网相似图片/$i/ ./相似图片/有缘网相似图片/$i/ opencv 7.68
done

5:对文件操作

#!bin/bash
i=1

Folder_A="./opencv_celue_si"
for file_a in ${Folder_A}/*
do
temp_file=`basename $file_a`
echo $temp_file
cat ./opencv_celue_si/$temp_file | awk '{print $4}' > ../aaa.txt

dir="./saveimage/$temp_file/"
if [ ! -d $dir ];then
mkdir "$dir"
fi

cat ../aaa.txt | while read line
do
cp "${line}" ./saveimage/$temp_file/
echo "1111"
done
rm ../aaa.txt
done

6.循环执行bin文件命令

#!/bin/bash
for((i=1;i<=64;i++));
do
./hash_test ./相似图片汇总/相似图片汇总/$i/ ./相似图片汇总/相似图片汇总/$i/ opencv 7.68 #hash_test为二进制文件
done

7.提取两个文件中共同列的值

awk 'NR==FNR{S[$1]=$0;next}NR>FNR{print S[$1],$2,$3}' gpu porn > jiehe 两个具有同一列的文件合并

ps:gpu和porn分别为两个文件名,文件内容分别为:




执行结果为:


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值