运行方法是"sh 刚才新建的脚本名"。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》。
你好!
第一次在Linux下编写shell脚本,就能用这么多命令和变量,挺不错的,点个赞!
下面是我修改你的脚本:
#!/bin/bash
#this shell is used to classify seed file to different folder.
# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH
#!/bin/bash#this shell is used to classify seed file to different folder.
# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH
clear all
path01="/home/ch/data/boxing"
path00="/home/ch/data"
cd $path01
for file in `ls `
do
for sta in AH CH
do
cd $path00/$sta/
if [ ! -e "$file" ]then #判断新文件夹下是否已经有这个文件
echo -e "this $file is not in this folder--$sta.\n"
elif [ "$file" == *.*."$sta".seed ]||[ "$file" == *.AH.seed ]then #当文件符合这两个命名条件之一时执行复制
cp $path01/$file $path00/$sta/
else
echo -e "this $file is not belong to the $sta folder. \n"
fi
done
cd $path01
done
我评价一下:
你代码的逻辑如下,不知道是不是你的本意。
如果 AH、CH中不存在boxing中的某文件,
那么输出”this $file is not in this folder--$sta.\n“
跳过下面的测试,继续下一轮循环
如果 AH、CH中存在boxing中的某文件,并且这个文件的文件名满足X条件
那么把这个文件从boxing文件夹中复制到AH或CH中
跳过下面的测试,继续下一轮循环
如果 AH、CH中存在boxing中的某文件,但这个文件的文件名不满足X条件
那么输出 "this $file is not belong to the $sta folder. \n"
跳出,继续下一轮循环
[ "$file" == *.*."$sta".seed ]
可以匹配
..AH.seed
.t.AH.seed
003.txt.AH.seed
这样的过滤结果是你的本意吗???
下面是修改的地方:附在对比图里
首先打开命令控制台找到要编辑的文件,执行命令ls看看下面有几个文件,在这个下面有个index.php文件。
2.然后输入执行命令vi index.php。
3.如果你现在想修改index文件的内容,按下间键盘上的'i'键,最下方就会变成INSERT,这个时候就可以修改了。
4.在修改文件内容之后,输入echo的代码进行保存 Esc+:+wq 这个是保存,回车保存。
5.保存完成以后,再次打开这个文件会发现刚才写入的代码已经保存到里面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)