设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
问题出在哪里
1
2
/ 2 页
下一页
返回列表
查看:
1076
|
回复:
11
问题出在哪里
[复制链接]
lxj821212
lxj821212
当前离线
积分
24
IP卡
狗仔卡
发表于 2006-9-26 16:21:25
|
显示全部楼层
|
阅读模式
移文件改名 想把当前目录的aa.abc 改为abc.ini 提示已经可以。但找不到改名的那个。请那位大侠看看
find . -type f -name "*.abc"| awk 'BEGIN{FS=".abc"};\
{printf("mv %s.abc %s.ini\n",$1,$1);}'
mv ./aa.abc.conf ./aa.abc.ini
[root@linux tmp]# ls
@1981.0xf86config aa aa.abc bb
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
davi
davi
当前离线
积分
142
IP卡
狗仔卡
发表于 2006-9-26 17:24:04
|
显示全部楼层
你这个只是print出来,不是执行命令。
批量改名用rename就行了
test@server:~/test$ ls
2.bb 5.bb
test@server:~/test$ ls |rename 's/.bb$/.xx/'
test@server:~/test$ ls
2.xx 5.xx
test@server:~/test$
复制代码
回复
支持
反对
使用道具
举报
显身卡
shizi4838
shizi4838
当前离线
积分
181
IP卡
狗仔卡
发表于 2006-9-26 23:22:28
|
显示全部楼层
想把当前目录的aa.abc 改为abc.ini
mv ./aa.abc.conf ./aa.abc.ini
这是什么意思?
回复
支持
反对
使用道具
举报
显身卡
davi
davi
当前离线
积分
142
IP卡
狗仔卡
发表于 2006-9-26 23:31:17
|
显示全部楼层
貌似是脚本的输出
回复
支持
反对
使用道具
举报
显身卡
lxj821212
lxj821212
当前离线
积分
24
IP卡
狗仔卡
楼主
|
发表于 2006-9-27 09:08:20
|
显示全部楼层
那我的这个语句上有错误吗。
find . -type f -name "*.abc"| awk 'BEGIN{FS=".abc"};\
{printf("mv %s.abc %s.ini\n",$1,$1);}'
执行后输出:mv ./aa.abc.conf ./aa.abc.ini
结果:
[root@linux tmp]# ls
@1981.0xf86config aa aa.abc bb
回复
支持
反对
使用道具
举报
显身卡
shizi4838
shizi4838
当前离线
积分
181
IP卡
狗仔卡
发表于 2006-9-27 09:29:08
|
显示全部楼层
首先你那句代码不可能输出 mv ./aa.abc.conf ./aa.abc.ini
而应该输出 mv ./aa.abc ./aa.ini
再一个你那句代码只是执行了一个printf输出的命令,并没有执行mv移动文件的命令.
回复
支持
反对
使用道具
举报
显身卡
lxj821212
lxj821212
当前离线
积分
24
IP卡
狗仔卡
楼主
|
发表于 2006-9-27 10:13:53
|
显示全部楼层
那应该如何去做。谢谢 !!!!!!!!
回复
支持
反对
使用道具
举报
显身卡
shizi4838
shizi4838
当前离线
积分
181
IP卡
狗仔卡
发表于 2006-9-27 11:09:27
|
显示全部楼层
如果你就是想改一个文件的文件名那么简单, mv aa.abc aa.ini就行了啊.
回复
支持
反对
使用道具
举报
显身卡
lxj821212
lxj821212
当前离线
积分
24
IP卡
狗仔卡
楼主
|
发表于 2006-9-27 11:22:45
|
显示全部楼层
那我要改后缀名的 有很多的那样不得一个一个作吗
我又重新坐了一下。
[root@linux tmp]# ls
@1981.0xf86config aa aa.abc bb jd_sockV4 move.sh saba ssh-GKmn2867 ssh-Uyih2820 ssh-vvLY1957 ssh-xrp14899
[root@linux tmp]# find /tmp -type f -name "*.abc"\ | awk 'BEGIN{FS=".abc"};
{printf ("mv %s.abc %s.cba\n"$1$1);}'move.sh
awk: cmd. line:2: {printf ("mv %s.abc %s.cba\n"$1$1);}move.sh
awk: cmd. line:2: ^ parse error
回复
支持
反对
使用道具
举报
显身卡
shizi4838
shizi4838
当前离线
积分
181
IP卡
狗仔卡
发表于 2006-9-27 11:57:43
|
显示全部楼层
写个脚本吧
#!/bin/bash
find . -name "*.abc" -print |awk -F. '{print $2}'|sed 's/\///g' >file.tmp
while read LINE
do
mv $LINE.abc $LINE.ini
done < file.tmp
rm -rf file.tmp
复制代码
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
LFS(LinuxfromScratch)
Archlinux讨论区
Ubuntu Linux 专题讨论
硬件设备 Linux 驱动
Gentoo Linux
服务器架设、应用、维护
Linux 基础讨论区(新手速成)
Linux 输入开发与研究
Debian Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表