在某些版本的linux下,通过find查找当前目录下所有后缀名jpg的文件,命令为
find ./ -iname *.jpg
会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种
- 使用转义符把*转义,即 \*.jpg
- 用引号引起来 ,即 “*.jpg”
注意:如果需要把find 的结果提交给while,例如:
`echo find ./ -iname "\*.jpg"` | while read f do #do something done
则既需要转义符,也需要引号
#!/usr/bin/env sh
DATA=/home/xxx/data/message/train_test/data
echo "Create train.txt..."
rm -rf $DATA/train.txt
find $DATA -name "*0.jpg" | sed "s/$/ 1/">>$DATA/train.txt
echo "Done.."