shell 循环 处理带空格的文件
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
shell 循环 处理带空格的文件
本来想实现一个 将 文件 后缀CUE 改成 cue的功能, 结果却各种报错。
因为文件夹是有很多空格的 所以,,,
本小白初学者 求大神指点: 下面是问题脚本
#!/bin/bash
allname= "find ./ -type f | grep CUE"
for name in $(find ./ -type f | grep CUE)
do
mv "$name" "${name%.CUE}".cue
done
因为文件夹是有很多空格的 所以,,,
本小白初学者 求大神指点: 下面是问题脚本
#!/bin/bash
allname= "find ./ -type f | grep CUE"
for name in $(find ./ -type f | grep CUE)
do
mv "$name" "${name%.CUE}".cue
done
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
怎么该呀 = = IFS 是神马? =o =*枫叶饭团 写了:改IFS
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
结果 出现了 死循环。 执行无反应 = =sunfish 写了:rename 's/.CUE$/.cue/' *
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
perl版的sunfish 写了:先看看你的rename是不是perl版本的,c版本的你查一下用法,man看
话说 问题主要是 无法解决 路径含有空格的问题
跪求 完整答案 T——T
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
你的那个方法可以处理文件夹下的文件, 可是文件夹里面的 带空格的文件夹名的文件夹里面的文件(就是当前目录下 还有一个带空格名的文件夹) 就不起作用了sunfish 写了:我测试了,带空格没问题,不知道你的目录的文件啥情况
-
- 帖子: 992
- 注册时间: 2007-12-05 10:57
- 系统: ubuntu14.04
- 来自: 金山
Re: shell 循环 处理带空格的文件
代码: 全选
$ find ./ -type f | grep cue
./test.cue
./a a/tt.cue
以下mv命令将这三个值作为文件操作,于是就会应为找不到后两个文件而出错。
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
恩 确实是这样啊, 报的一堆错误也都是这样,求大神解决办法啊!!cao627 写了:如上find找到的其实是两个文件,但用for循环付给变量的是三个值 ./test.cue ./a 和 a/tt.cue代码: 全选
$ find ./ -type f | grep cue ./test.cue ./a a/tt.cue
以下mv命令将这三个值作为文件操作,于是就会应为找不到后两个文件而出错。
- mjp123
- 帖子: 703
- 注册时间: 2009-04-09 15:06
Re: shell 循环 处理带空格的文件
正解,只此一句。sunfish 写了:rename 's/.CUE$/.cue/' *
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
文件夹下 还有文件夹的。 不是只有文件的mjp123 写了:正解,只此一句。sunfish 写了:rename 's/.CUE$/.cue/' *
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
Re: shell 循环 处理带空格的文件
代码: 全选
find ./ -type f -name "*.CUE" | while read name;do mv "$name" "${name%.CUE}".cue;done
关注我的blog: ε==3
-
- 帖子: 9
- 注册时间: 2012-12-19 22:14
- 系统: ubuntu12.04
Re: shell 循环 处理带空格的文件
跪谢大神! 已终结~ >_<~bones7456 写了:代码: 全选
find ./ -type f -name "*.CUE" | while read name;do mv "$name" "${name%.CUE}".cue;done