分页: 1 / 1
shell脚本运行时提示sed权限问题
发表于 : 2012-02-13 11:06
由 zhiyizhi
我在别人帮助下写了一个批量更改文件名的脚本rename4,见附件。可是我有时运行会遇到如下的错误提示:
sed: preserving permissions for `./sedtVjLt3': Operation not permitted
sed: preserving permissions for `./sedV8fJD3': Operation not permitted
但是我不知道该如何纠正错误,尽管这个错误对我需要进行的更名任务并无大碍!希望知道的高人指点,谢谢!
Re: shell脚本运行时提示sed权限问题
发表于 : 2012-02-13 15:57
由 kingkongmok
应该就是您没有修改order和name这两个文件的权限口牙。把它拷贝出来让其有写权限吧。
Re: shell脚本运行时提示sed权限问题
发表于 : 2012-02-13 20:01
由 josephyoung
代码: 全选
#!/bin/awk -f
#Usage: ./rename.awk order name
BEGIN{
order=ARGV[1]
name=ARGV[2]
delete ARGV[2]
getline < order
sub("^.*\\.",".")
ext=$0
close(order)
}
/^ *$/{exit}
{
getline new < name
system("mv "$0" "new ext)
}
用awk写了一个,互相参考

Re: shell脚本运行时提示sed权限问题
发表于 : 2012-02-14 10:32
由 Think1st
kingkongmok 写了:应该就是您没有修改order和name这两个文件的权限口牙。把它拷贝出来让其有写权限吧。
同意,我这边运行没有这样的问题。
order和name你应该没有写权限。
Re: shell脚本运行时提示sed权限问题
发表于 : 2012-02-14 14:47
由 zhiyizhi
谢谢各位,应该是权限的问题!我查了一下order和name所在的位置为
drwxrwxrwx 1 root root 16384 Feb 14 14:17 music-wind
Re: shell脚本运行时提示sed权限问题
发表于 : 2012-02-15 15:30
由 zhiyizhi
终于解决了,最后发现是由于order和name文件在windows的ntfs分区,而我挂载这个分区时忘了加入uid和gid,从而导致即便使用sudo也无法更改权限。后来在/etc/fstab文件中加入正确的uid和gid后,就完全可以了!谢谢各位!