
C语言可以通过system()调用执行外部shell脚本,但shell脚本里不能直接执行C代码。
因为shell脚本是解释执行的,C代码只能被C编译器认可,需要编译成可执行文件后才能在shell脚本中调用。
awk文本处理工具里的环境基本是C语法,所以如果shell脚本里使用awk,那么是可以直接用C语法的。
你把这个脚本放在tmp目录下 改变一下执行权限 所有类似a_b_c_dtxt命名的文件,按照你的要求放到相应的目录下, 亲测可以。
files=`ls ___txt`for file in ${files}
do
d1=`echo $file | awk -F '_' '{print $1}'`
d2=`echo $file | awk -F '_' '{print $2}'`
d3=`echo $file | awk -F '_' '{print $3}'`
f=`echo $file | awk -F '_' '{print $4}'`
echo $d1 $d2 $d3 $f
if [ ! -d /${d1}/${d2}/${d3} ]
then
mkdir -p /${d1}/${d2}/${d3}
fi
mv $file /${d1}/${d2}/${d3}/ftxt
done
exit 0
这些目录不知道,是否提前已经建立好了,如果没有建立,那你就得用root用户执行,因为普通用户是无法在根目录下创建文件夹的。
这个脚本是在Linux或Unix下执行的,windows下bat脚本不熟悉。
以上就是关于C语言能否用在shell脚本全部的内容,包括:C语言能否用在shell脚本、如何用shell或bat或c语言完成字符串截取及拷贝、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)