1 #!/bin/bash   2 <<Comment   3 批量修改文件名的脚本   4 2015/10/24   5 webber   6 Comment   7 ARGS=2   8 ONE=1   9 if [ $# -ne "$ARGS" ];then  10   echo "传参错误!!"  11   exit 2  12 fi  13  14 num=0  15  16 for file in *$1*  17 do  18   if […
参考链接1:shell脚本:批量修改文件名(删除文件名中字符) 参考链接2:linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 ) 参考链接3:每天一个linux命令(21):find命令之xargs 参考链接4:SED 简明教程 参考链接5:shell 学习第十天-sed 查找与替换 #批量改名,增加字符 ls | xargs -t -i mv {} xxx_{} #批量改名,删除/增加字符 #方式一: for file in `ls xxx_*`;do…
1 shell下批量出去文件名中的空格 执行看现象: 上面的是执行for循环以后看到的: 然而源目录下的文件如下: 这样的话想要cat某个具体文件是拿不到的,所以需要去空格处理: 处理方式有很多:如 mv+sed    .rename方式.本次只做简单有效的方式--rename: rename 's/ /_/g' *                 ##表示把当前目录下所有的文件中有空格的都用_表示 2 Linux下批量重命名文件名为数字索引编号(0~N.xxx)的方法 现象:在处理一些数据集的…
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while read NAME do echo $NAME page_article${NAME%\.htm}.php done 我是将所有的.htm修改了page_article{}.php文件 运行之后是对的,看到输出的结果是自己想要的,就将echo 替换为 mv即可.…
linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令  ========================  NAME  rename - Rename files SYNOPSIS  rename from to file...  ======================== 复制代码代码如下: #! /bin/sh  INIFILE="./dirlist.ini"  CURPATH=$(pwd) …
修改文件名,替换中间字符: 例如:ABC_define_EFG.jpg,要把中间的define替换成argument: 用如下脚本即可: for var in *; do mv "$var" `echo "$var" | sed 's/define/argument/g'` ;done 参考材料: https://blog.csdn.net/isuker/article/details/51226179 https://www.jb51.net/article/33…
前言:因为本人要高仿一个app,从app中解压asserts得到的所有图片文件,文件名都带有~iPhone这个干扰的名字,为了去除这个~iPhone这个字符串,所以本人写了个简答的批量更改所有文件名的程序. 程序员就是应该会利用程序来帮自己偷懒,如果你一个个文件手动去改,那你就太low了啊. 因为这个程序用到的NSFileManager的很多方法本人不是很熟悉,也是花了点时间去熟悉NSFileManager的一些方法,所以写下这个笔记做个笔记,省的下次又需要却还是遗忘了方法. 我的基本需求,在啰…
出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析:1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错.2.出错信息:bad interpreter: 没有那个文件或目录. 问题原因:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符.脚本文件是DOS格式…
添加字符 举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [root@localhost goodboy]# ls adddbbdedf.html  baacjaiija.html  bhcfaabcfh.html  dgjdcdfbca.html  efejadfdji.html agdhcdeaje.html  bgffbffjcg.html  cbbiebdafh.html  diadebbhag.html  jcajafgejf.html 脚本1:…
初始文件名 # ls -lh total 5.5G -rw-r--r-- 1 root root 193K Sep 28 09:38 20180908.txt drwxr-xr-x 2 root root 4.0K Mar 7 16:37 batch -rw-r--r-- 1 root root 160M Mar 13 16:35 batch_dispatcher.log.1 -rw-r--r-- 1 root root 17M Jan 8 12:00 batch_gen_scheduler.l…
修改文件名前 #!/bin/bask # for a in $( ls /etc/yum.repos.d/CentOS* );do if [ $a != '/etc/yum.repos.d/CentOS-Media.repo' ];then #CentOS-Media.repo的文件名不修改 mv $a $a.bak #给文件加上后缀 .bak fi done 测试: 删除文件后缀 .bak#!/bin/bask # for a in $( ls /etc/yum.repos.d/Cent* )…
[root@localhost file1]# ls a.htm b.htm c.htm d.htm pl.sh [root@localhost file1]# vi pl.sh #!/bin/bash for f in `ls *.htm` do mv $f `echo ${f/htm/html}` done [root@localhost file1]# sh pl.sh [root@localhost file1]# ls a.html b.html c.html d.html pl.sh…
问题:将图片名中的ing_变为0. 当前目录下:$ ls pic,change_name.sh pic/ |__kk1/ |__img_001.jpg |__img_002.jpg |__vv2/ |__img_005.jpg |__abc_002.jpg 解决: 在change_name.sh中写入如下内容: #!/usr/bin/env shcd picDIR=`ls .` for dir in ${DIR};do fi [ -d ${dir}];then cd $dir rename 's…
在开发过程中,经常会使用shell脚本去完成定时备份的任务,普遍的做法是通过系统的定时任务定时执行备份脚本 设想这样一种场景,本次备份时间到了,自动执行备份脚本,如果备份比较耗时的话,会一直持续到下一次备份时间到了还未结束,下次备份又会自动调用备份脚本,相当于同一时间有两个进程在执行备份脚本,这可能会导致备份数据错乱或其他不可预知的问题 更进一步,假如执行备份脚本消耗的时间远大于设置的备份间隔的话,系统会出现多个同时在执行脚本的Bash实例,会占用大量的系统资源,进而影响正常业务程序的运行 那如…
head 查看文件头部 -n 指定查看行数 默认10行 tail 查看文件尾部 n 指定查看行数 默认10行 Grep 命令 用法大全 . 参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 .RE(正则表达式) \ 忽略正则表达式中特殊字符的原有含义 ^ 匹配正则表达式的开始行 $ 匹配正则表达式的结束行 \< 从匹配正则表达式的行开始 \> 到匹配正则表达式的行结束 [ ] 单个字符:如[A]…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/560372 sed和gawk介绍 知识体系: #使用文本文件 #探索sed #探索gawk shell脚本可以把处理文本中包含的所有类型的数据这样的普通任务自动化.然而,只使用shell脚本命令处理文本文件的内容却有些麻烦.如果要 在shell脚本中进行任何类型的数据处理,就要熟悉linux中现有的sed和gaw…
 需求背景: 目录A用来存放自动化的包生成的apk文件,现在开发修改了包名的 命名规则:环境名称(pro|uat)-release-日期-v版本号.apk 原来的是思路是通过正则表达式匹配新的包名,但是发现在shell脚本中使用正则表达式,我目前对于如何验证 正则表达式在shel脚本中是生效的,还理不清楚. 通过万能的搜索引擎,又找到了另一种方法:更简单直接 直接获取指定目录下的apk名字,然后重命名为一个固定的名字,这样就方便我使用了(通过python脚本上传apk至蒲公英 ) 原文件名: p…
一.sed编辑器       shell脚本最常见的用途就是处理文本文件,sed和gawk能够极大的简化需要进行的数据处理任务.sed编辑器是流编辑器,跟普通交互式文本编辑器(如vim)不同.流编辑器在编辑器处理数据前基于预先提供的一组规则来编辑数据流.由于命令都是一行一行顺序处理,sed编辑器必须一次就完成对文本的修改,所以比交互式编辑器速度快很多. 使用sed命令的格式:$ sed optioons script file 1.替换标记 s命令帮助我们用斜线间制定的第二个文本字符串代替地一个…
在客户端所在的目录新建一个IP.bwj的文件,写上服务端的IP,不要带空格,保存.双方都打开一个客户端和一个服务端就可以聊天了,(可以写自己的IP,自己跟自己聊..)没有第三方服务器,服务端所在的电脑就是服务器.程序通过AF_INET协议族,监听7464端口,没写任何错误处理,这样便于突出主要矛盾嘛..初学见笑.. 不知道死循环应该怎么退出,客户端可以通过输入的buffer写一个退出命令,不知道服务端怎么办,调用kbhit也不行,因为recvfrom一直在监听,我再想想.. 客户端 #inclu…
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/DragonFire/p/6600121.html 这里我们要做的功能是: 输入一个目录"/data/data8" 在shell中将其变换为"\/data\/data8" (这是为了能在shell后边的sed命令中直接使用) 先来看看直接使用命令如何实现: echo “/…
Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将多个Linux命令组合保存成一个脚本文件,可直接给其他人使用. 组合命令 进入一个目录,查看目录的文件,这个过程分别需要执行两条命令,分别是cd 和ls. 分开执行两个命令的形式如下: [root@lincoding usr]# cd /usr/ [root@lincoding usr]# [roo…
Linux下的,环境是 Fedora 实现了基本的内部命令功能,及比较完善的内部命令框架. 类似于MFC消息映射表的方式,写完一个内部命令,只需要向这个头文件中,导入一个头文件,再写入命令处理函数,就可以把一个内部命令插入到内部命令表中 .好歹我也是看过猴姐书的人.... 我的程序现在的缺点就是,不能执行终端的管道操作和重定向操作. 管道操作和重定向操作其实很简单.但是问题在于,管道操作是可以无上限的 比如:    ls | grep e | grep s | grep . | grep i |…
sed编辑器 sed说明 sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增.删.改.查等操作,支持按行.按字段.按正则匹配文本内容,灵活方便,特别适合于大文件的编辑. 替换选项 使用s命令可以实现替换的作用.S命令会用斜线间指定的第二个文本字符串来替换第一个文本字符串模式: echo "this is a test" | sed 's/test/try/' 如果要同事替换多个,中间yoga分号:隔开即可 1.替换标记 默认情况下,只会替换一行中的第一处.要想…
介绍 在上一篇使用完了环境变量,并且知道PATH环境变量概念,那么我们对命令的执行就有了一定深入的理解.那么PATH环境变量或其他环境变量是保存在哪呢?那么这篇文章主要介绍环境变量配置文件. 配置文件 环境变量主要保存在以下四个文件和一个目录中: /etc/profile /etc/profile.d/ ~/.bash_profile ~/.bashrc /etc/bashrc 保存在/etc/目录下的配置文件,都是所有用户通用的配置,就是不管是root用户还是普通用户. 保存在~/用户家目录的…
背景 sed(Stream Editor 流编辑器),作为三剑客的一份子,主要的功能有增删改查.为什么称之为"流"编辑器呢?大家知道:在Linux文件系统中,一切都可以作为文件来处理,比如:配置文件.设备文件.日志等等.sed就类似于工厂流水线作业的车间一样,文件中的每行内容都是生产元件,经过sed车间流水线处理,最终会变成成品. sed语法格式 同grep一样,sed提供两种方式: stdout | sed [option] "pattern command" s…
需要替换的行为: monitor.url=http://192.168.25.100:8443/rest 查询资料得知,报错是因为替换的字符串包含有分隔符/ 所以这行改一下分隔符就可以解决问题了  (这里的分隔符随自己定义 例如:sed -i "s#$url#$1#g" datasource.properties  这三个分隔符要统一就可以了) 改成感叹号!或者|  等其他来分割 sed -i "s!$url!$1!g" datasource.properties…
通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/" 其中"type in what you want modified!"为替换后希望得到的内容. 由于用作替换的字符串里面不包括与sed替换格式相同的"/",因此可以正常使用. But,当希望通过sed方式修改配置文件中的目录时,由于用作替换的目录字符换(datapath=/home/data…
参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: 1).写个sql文件test.sql:use movie_recommendation;select distinct movie_id from T_user_movie_rating_map; 2).在终端输入mysql -uroot -p123456 -e < test.sql > movi…
1.需求:linux使用shell命令查询结果前后批量追加内容 例如:我需要在当前目录下所有的css文件路径前追加域名 我想的是用sed替换去实现,鲍哥的思路是用for循环 1.1方法1:鲍哥的for循环 这是鲍哥的思路,我写出来后,鲍哥说很二. for i in `find . -type f -name '*.css'`;do echo 'http://www.baidu.com/css/'$i;done 1.2方法2:sed替换 find . -type f -name '*.css'|s…
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以  行 为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法. 语法: sed [-nefri] ‘command’ file(s) 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到荧幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行才会被列出来.(stdin是标准输入,一般指键盘输入到缓冲区里的东西…