Ⅰ shell脚本循环问题,在shell获取liunx下文件名并且删除
1、日期怎么能用来减法?问下20140301减去7等于多少?2、等于$backup_7ago就删除,这是啥逻辑,更久以前的文件,你怎么搞?3、if后面[]要有空格吧!
Ⅱ shell 编写一程序,列出当前目录下指定文件的文件名,文件的首行为#!/bin/bash
#!/bin/bashforfilein./*doiftest-f$filethenname=`basename$file`first_line=`sed'1!d'$file`if["$first_line"=="#!/bin/bash"]thenecho$namefifidone
我解释下代码,首先,在for循环中遍历当前目录下的所有文件,然后回外层的if判断答当前文件类型,如果是文件,则使用basename $file用来获取当前文件的文件名(包括拓展名)并赋值给变量name中,然后使用sed '1!d' $file获取文件第一行的内容并赋值给变量first_line,再在内层的if中判断第一行的内容是否是“#!inash”,如果是,则打印该文件的文件名。
ps:我也是刚学shell,写了半天才整出来,就当是自己也顺便练手了,哈哈。
我在我电脑上测试了下,没有问题,如果你还有问题请追问。
Ⅲ linux的shell脚本中如何获得指定目录下的文件名
cdxxfornamein*.c;domv$name./work/${name%.c}.app#仅对xx目录的c文件有效,希赛里有很多脚本编程知识的。我都是去那里看的。
Ⅳ shell 命令如何实现获取文件名,
cd '/home/'names=`ls`for name in ${names[@]}doif [ -f $name ]thenecho $namefidone
Ⅳ Shell获取某目录下所有文件夹的名称
方法有三,如下:
Ⅵ shell脚本 中如何截取文件名中的指定字符串
linux85:~ # date=`echo "abcd(111222333)" | awk -F "(" '{print $2}'`linux85:~ # echo $date111222333)linux85:~ # echo $date|awk '{print substr($0,1,9)}'111222333
Ⅶ linux shell脚本怎么获取目录下所有txt文件名称
执行抄如下三条命令即可:(1)、$script myresultfile(2)、$ls -al *.txt(3)、$exit此时,该目录下的所有 txt 文件名称就会以长格式保存在 myresultfile 文件中了。然后你再使用 SHELL 编程的功能把那些无用的列去掉即可。
Ⅷ shell怎么读取文件夹中的文件名
#!/bin/bashforfilein`lsfolder`doecho$filedone
文件夹名换成实际地址,
file变量有可能是子文件夹,处理前需要进行判断
Ⅸ shell 循环文件列表取出文件名
ls *.data > aaacat aaa |while read linedo内容done$line 就是文件名*.data的变量,可以作为其余函数的参数使用。
Ⅹ linux shell中怎么获得文件名的长度
ls -l filename | awk '{print $5}' -b filename | awk '{print $1}'wc -c filename | awk '{print $1}'wc -c < filenamestat -c "%s" filename
未经允许不得转载:山九号 » shell获取文件名|Linux的shell脚本中如何获得指定目录下的文件名