LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1136|回复: 5

利用SHELL取到文件名中的数字????????

[复制链接]
发表于 2004-9-8 11:17:29 | 显示全部楼层 |阅读模式
请问
当前目录有 abc_1.exe   abc_2.exe abc_11.exe abc_49.exe abc_119.exe

这样的N多的文件。我想把它们中间的数字得到。这个应怎么做呢??

谢谢。
 楼主| 发表于 2004-9-8 12:14:00 | 显示全部楼层

我的问题解决了~~哈哈哈~~~

num=0
while (( $num < 200))
do
#       echo "$num"

        if [ -f setup/abc_$num.exe ]
                then
                echo "ok"
                echo "abc"$num".exe"
                mkdir -p abc/$num
                cp setup/abc_$num.exe abc/$num
        fi

        let num+=1
done
发表于 2004-9-8 12:29:12 | 显示全部楼层
不是吧,大哥?
幸亏只到abc_19.exe,要是有个abc_99999999999999999999999999999.exe你可惨了
 楼主| 发表于 2004-9-8 13:19:39 | 显示全部楼层
是啊~~你有什么好办法吗?就是文件多啊~~~
发表于 2004-9-8 13:59:33 | 显示全部楼层
例子:
将文件abc_1.sample至abc_20.sample分别移动到目录abc/abc_1,abc/abc_2...目录下

  1. $ for file in $(ls|grep "abc_[0-9]\+.sample");do mkdir -p  \
  2. abc/${file%.sample};mv $file abc/${file%.sample};done
复制代码
 楼主| 发表于 2004-9-8 14:07:15 | 显示全部楼层

KAO!!!!!!!!!!!!

谢谢       
aaccdd
真长学问啊!!!佩服佩服!!!

但是可不可以把
ls setup|grep "chatatwill_[0-9]\+.exe"
的意思给我讲讲呢?谢谢了~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表