Set-Location 目录名
创建一个目录并进入目录,至于读取文件,新建的目录那来的文件可以读取??
1)每行的最后一个字段(一般是第9个字段)为文件名。
2)文件目录是指文件所在的目录,还是判断一个文件是不是目录?
如果是前者,用 pwd 命令即可获得。(下面的代码根据这种情况来)
如果是后者,根据 ls -lh 结果每行第一个字符判断,如果是d表示为目录(directory)。
3)获取文件大小根据第5个字段。
shell脚本大致如下:
#!/bin/sh
ls -lh "$1" | awk 'BEGIN{printf("filename\tdirectory\tsize\n")}NR>1{printf("%s\t%s\t%s\n",$NF,'\"$1\"',$5)}' >filetxt
exit 0
脚本保存为 statisticsh
运行如下命令即可:
sh statisticsh [要统计的目录名]
结果保存在当前目录下的 filetxt 中。mkdir dir{110}
for i in `seq 1 10`
do
touch dir${i}/dir${i}file{110}
done
chmod 755 -R dir
read -p "Please input a number [1-10]" num
[ ${num} -gt 0 ] && [ ${num} -lt 11 ] && find dir${num} -type f > logtxt
cat logtxt | xargs mv {,bak}
find -name [0-9] |xargs rm -rfLinux下使用
Shell脚本
删除一个目录下的所有
子目录
和文件
#!/bin/sh
#FileName:deleteDirsh
#Function:Linux下使用Shell脚本删除一个目录下的所有子目录和文件
#Version:V01
#Author:Sunrier
#Date:2012-08-01
CURRPATH=$PWD
#DESTPATH为删除的目标目录
DESTPATH="/home/Sunrier/Trash"
#isNullDir函数判断进入的目录下是否存在下级子目录或者文件
#存在返回1,不存在返回0
isNullDir()
{
local
NewCurrentPath=$PWD
local
NewDirName=$1
cd
$NewDirName
local
NewFileList=`ls
2>/dev/null`
#
-n
string
:
如果字符串不为空,则结果为真
if
[
-n
"$NewFileList"
]
then
echo
"目录$NewDirName下列表信息为$NewFileList"
cd
$NewCurrentPath
return
1
else
echo
"目录$NewDirName为空目录"
cd
$NewCurrentPath
return
0
fi
}#!/bin/bash
for i in A B C d E;
do
if ! [ -d ${i}dir ];then
mkdir ${i}dir
fi
cp /etc/passwd ${i}dir
ls ${i}dir
done
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)