Chinaunix
标题:
获取文件名超过特定字符个数的文件列表『难呀!高手快来』
[打印本页]
作者:
jieyancai
时间:
2013-08-09 16:45
标题:
获取文件名超过特定字符个数的文件列表『难呀!高手快来』
本帖最后由 jieyancai 于 2013-08-09 16:57 编辑
比如目录a下面有如下很多个文件:
t1.txt
t2.txt
sdfl.dfd
sdsdflsdflsdf.txt
sdflsdflksdf.xls
t3333333.txt
lksfklsdfl.txt
ldsfsdflksdf.txt
welklkdsfsd.bs
lsdfklsdfl.tar
lkdsfsdfgofd.zip
sdfksd.doc
如何对文件名长度超过6个字节的文件直接zip打包?
zip不要包含6字节以下文件名的文件。
大侠们出手吧。
作者:
关阴月飞
时间:
2013-08-09 17:19
本帖最后由 关阴月飞 于 2013-08-09 17:20 编辑
ls -1 |grep -E '.{7}' |xargs zip fils.zip
复制代码
作者:
doita
时间:
2013-08-09 17:21
wc -c就可以实现了.自然你要考虑到某些文件可能本身就是压缩好的,这里没有.写了一段丑陋的代码
#!/bin/bash
ls|while read file_name
do echo $file_name>/tmp/temp.txt
file_length=`wc -c /tmp/temp.txt|cut -d " " -f 1`
if [ $file_length -gt 6 ];then
gzip $file_name
fi
done
复制代码
作者:
h2ero
时间:
2013-08-09 17:23
本帖最后由 h2ero 于 2013-08-09 17:27 编辑
ls | awk '{
filename = $0
sub(/\.[^\.]*$/,"",$0)
if(length($0) >= 6){
print filename
}
}' | xargs zip 6.zip
复制代码
作者:
doita
时间:
2013-08-09 17:25
回复
2#
关阴月飞
写的好简洁啊.
作者:
cao627
时间:
2013-08-09 17:30
@关阴月飞
grep -E '^.{7}$'
作者:
关阴月飞
时间:
2013-08-09 18:05
回复
6#
cao627
好像楼主要求是 文件名在6个以上字符的,写死7个,跑题了吧
作者:
cao627
时间:
2013-08-09 18:16
我跑题了
@关阴月飞
作者:
关阴月飞
时间:
2013-08-09 18:18
回复
4#
h2ero
ls -1 |awk 'length($0)>6' |xargs zip file.zip
复制代码
作者:
cao627
时间:
2013-08-09 18:26
echo ??????* |xargs zip file.zip
复制代码
作者:
关阴月飞
时间:
2013-08-09 18:29
回复
10#
cao627
长姿势了,强!
作者:
h2ero
时间:
2013-08-09 22:05
回复
9#
关阴月飞
那个我理解成了去掉后缀后的长度。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2