当前位置: 技术问答>linux和unix
shell脚本求助
来源: 互联网 发布时间:2016-12-06
本文导语: 我的目录结构: /data/20110001/20110001-000.dat /data/20110001/20110001-001.dat /data/20110002/20110002-000.dat /data/20110002/20110002-001.dat /data/20110002/20110002-002.dat ... 我的程序 java myClass -data 20110001/20110001-000.dat -output output/20110001-000.new.d...
我的目录结构:
/data/20110001/20110001-000.dat
/data/20110001/20110001-001.dat
/data/20110002/20110002-000.dat
/data/20110002/20110002-001.dat
/data/20110002/20110002-002.dat
...
我的程序
java myClass -data 20110001/20110001-000.dat -output output/20110001-000.new.data
我希望将data目录下所有后缀为.dat的文件作为输入,以对应的名字在output目录作为输出
循环按顺序执行
shell脚本该如何写
多谢大家
/data/20110001/20110001-000.dat
/data/20110001/20110001-001.dat
/data/20110002/20110002-000.dat
/data/20110002/20110002-001.dat
/data/20110002/20110002-002.dat
...
我的程序
java myClass -data 20110001/20110001-000.dat -output output/20110001-000.new.data
我希望将data目录下所有后缀为.dat的文件作为输入,以对应的名字在output目录作为输出
循环按顺序执行
shell脚本该如何写
多谢大家
|
试试下面这样的脚本,输入时候使用yourshellname.sh *.dat
#! /bin/bash
for arg in "$*"
do
java myClass -data $arg -out output/$arg
done
|
使用时以目录为参数或把脚本放进顶级目录里。
#! /bin/bash
if [['$*' = '']]; then
top_dir=`pwd`
else
top_dir=$*
fi
for file in `find $top_dir -name *.dat`
do
rel_path=${file##$top_dir/}
java myClass -data "$file" -out "$top_dir/output/$rel_path"
done