awk之shell快速修改文件名

摘要:
场景:假调你的目录下有多个类似这样的文件1.jpg?v=4如果快带的将文件的?方法一:直接写命令实现利用awk调shell命令实现ls|awk'{split($0,file,"?");for{ifcontinue;cmd="mv"$0""file[1];system}}'方法二:写.sh脚本#!","");print$1}'`echo"mv$i$newname"mv$i$newnamedone这两种方法其实是一种实现思路,可以根据自已喜好进行选择

场景:假调你的目录下有多个类似这样的文件

1.jpg?v=1

2.jpg?v=2

3.jpg?v=3

4.jpg?v=4

如果快带的将文件的?v=x去掉呢?

方法一:直接写命令实现 利用awk调shell命令实现

ls | awk '{split($0,file,"?");for(key in file){if(key==1)continue;cmd="mv "$0" "file[1];system(cmd)}}'

方法二:写.sh脚本

#!/bin/bash
for i in `ls`
do
if [ "$i" == "do.sh" ]
then
continue
fi
newname=`echo $i | awk '{gsub("?"," ");print $1}'`
echo "mv $i $newname"
mv $i $newname
done

这两种方法其实是一种实现思路,可以根据自已喜好进行选择

免责声明:文章转载自《awk之shell快速修改文件名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安装ScalaPython-进程与线程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

shell中各种括号的作用详解()、(())、[]、[[]]、{}

一、小括号,圆括号() 1、单小括号 ()   ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。   ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到...

Linux常用命令(1)

常用命令 #创建用户 useradd <用户名> <可选参数> #可选参数 -c comment 指定一段注释性描述。 -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m 选项,可以创建主目录。 -g 用户组 指定用户所属的用户组。 -G 用...

最有价值的Linux资料大全

来源:http://51ctoblog.blog.51cto.com/26414/929322#559183-qzone-1-70272-9032e4e5e88102269a9addf0a99ae97c 20年前的夏天,Linux之父 你牛死.脱袜子 (Linus Torvalds) 勇敢的向全世界共享他编写的操作系统,从此这个诞生于一个偶然机会的Linu...

shell脚本删除远程过期文件

应用场景: 我们在工作中经常会有要定时输出一些文件到磁盘上用作离线词表或者数据的冷备,但是如果这些数据不定期清理的话,则会对我们的磁盘造成巨大的浪费,人工手动清理的话,总是会有遗忘的时候,所以此刻就需要有一个自动清理的脚本。 假设现场:我们有一个定时生成词表到指定目录的程序,输出的目录名和词表前缀相同,且在生成词表的同时,会将词表名和对应的md5输出到词表...

Jmeter之Bean shell使用(一)

一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。...

shell脚本开发环境的配置和优化实践

vim路径等配置知识的整理见表: 相关配置文件 功能描述 .viminfo 用户使用vim的操作历史 .vimrc 当前用户vim的配置文件 /etc/vimrc 系统全局vim的配置文件 /usr/share/vim/vim74/colors/ 配色模板文件存放路径 .vimrc 的配置内容如下: "~/.vimrc"vim co...