在shell中进行文件操作时,我们很多时候想对文件名进行截取,例如去掉文件名的后缀,而只保留剩余的部分。下面介绍使用 ${} 来完成上述任务。
我们想对 share/home/jianshu_test.txt 进行操作,输出下列内容:
要完成这个任务,可以首先把 jianshu_test.txt 提取出来:
然后再进行截取:
记住两个原则:
此外:
『贰』 shell程序查找出a文件夹中的最后修改的文件,并读出文件名,用变量保存
filename=`ls /home/test/ -ltr |tail -1|awk '{print $NF}'`
/home/test/ 替换为你的目录 -ltr就是按修改时间排序 tail -1 取最回后一行 awk用于取文件名答
『叁』 shell获取目录下最新的文件,文件是以日期命名
1、打开Python开发工具IDLE,新建‘dir.py’,并写代码如下。
『肆』 shell脚本查找文件名中不包含abc的文件
ls-l|grep^-|grep-vabc|awk'{print$9}'
『伍』 shell编程(linux )中如何获得当前鼠标选中的文件名
脚本中写:
cp-l$1/home/dydpc/MyFile/$1.bak
『陆』 求助大神:编写一个shell 脚本 ,移动某个文件夹下的文件到各自的日期组成的目录下
1、主要是从文件名截取出日期,如果固定了位数
2、可以先按_分割取第二段
echo $file|awk -F\_ '{print $2}'
3、然后再取第4位后面的8位
4、例如:vi a.sh
#!/bin/sh
for file in `ls *.jpg`;do
echo $file
datedir=$(echo $file|awk -F\_ '{print $2}'|awk '{print substr($1,4,8)}')
mkdir $datedir
/bin/mv $file $datedir
done
『柒』 shell 如何判断某个文件名以某个字符开头
ls file|cut -c 1
这样切一个字母出来
或者ls|grep "^a"|wc -l