精华内容
下载资源
问答
  • linux批量操作命令锦集
    2021-05-17 15:45:53

    Linux下批量替换文件内容方法

    1:查找

    find . -type f -name “*.html”|xargs grep ‘yourstring’

    2:查找并替换

    find -name ‘要查找的文件名’ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g’

    perl -pi -e

    在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.

    从命令行中使用Perl 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。

    3:批量修改文件夹权限

    find . -type -d -name *.html|xargs chmod 755

    4:批量修改文件权限

    find . -type -f -name *.html|xargs chmod 644

    查找和替换是很常用的操作。

    这里介绍的小小技巧可以使你很轻松地完成大量重复、繁琐的工作。

    以例子进行说明

    在当前目录下的.c文件中查找字符串”password”

    grep “password” *.c

    在当前目录及其多个子目录中查找文件test.c

    find . -name “test.c” -print

    在当前目录及其多个子目录中查找.vbs文件并删除之

    find . -name “*.vbs” -exec rm {} \;

    在当前目录及其多个子目录下的.c文件中查找字符串”password”

    find . -name “*.c” -print | xargs grep “password”

    在当前目录下的.c文件中把字符串”password”替换成”pwd”

    perl -pi -e ‘s/password/pwd/g’ *.c

    在当前目录下的.c文件中把字符串”password”替换成”pwd”并以.bak扩展名备份

    perl -pi.bak -e ‘s/password/pwd/g’ *.c

    在当前目录及子目录下的.c文件中替换字符串”password”为”pwd”

    find . -name “*.c” -print | xargs perl -pi -e ‘s/password/pwd/g’

    使用sed操作批量替换

    格式: sed -i “s/查找字段/替换字段/g” `grep 查找字段 -rl 路径`

    linux sed 批量替换多个文件中的字符串

    sed -i “s/oldstring/newstring/g” `grep oldstring -rl yourdir`

    例如:替换/home下所有文件中的www.viiving.com为www.zjant.com

    sed -i “s/www.viiving.com/www.zjant.com/g” `grep www.viiving.com -rl /mysites

    在当前目录下操作:sed -i “s/www.viiving.com/www.zjant.com/g” *

    1.rename命令批量修改文件名, 其实Linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了

    比如把所有的表为cdb1_* 修改为cdb_*的

    在本目录下

    只需要# rename ‘cdb1’ ‘cdb’ *

    以前都是写个for循环来做…想想多傻啊, 呵呵

    rename还有更多的功能, 建议man rename下

    From:http://www.hao32.com/unix-linux/42.html

    2.批量更改文件名 rename

    通过 man rename 命令可以得知,rename 命令其实是一个 Perl 脚本命令,

    它专用于批量地给多文件重命名(rename multiple files)。

    命令格式:

    rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

    perlexpr 是一种 Perl 脚本格式的正则表达式。

    参数:

    -v, –verbose

    Verbose: print names of files successfully renamed.

    详细模式:打印成功更改的文件名列表

    -n, –no-act

    No Action: show what files would have been renamed.

    测试模式:并不真正的执行命令,而只是显示哪些文件名应该怎么进行

    更改,用于测试模式。

    -f, –force

    Force: overwrite existing files.

    强制模式:在更改文件名,如果更改后的文件已经存在时覆盖已经存在

    的文件。

    rename 的典型应用:

    0. 批量更改文件扩展名

    $ ls

    1.txt 2.txt 3.txt 4.txt

    $ rename ‘s//.txt//.ext/’ *

    $ ls

    1.ext 2.ext 3.ext 4.ext

    1. 批量删除文件扩展名

    $ ls

    1.txt 2.txt 3.txt 4.txt

    $ rename ‘s//.txt//’ *

    $ ls

    1 2 3 4

    2. 批量添加文件扩展名

    $ ls

    1 2 3 4

    $ rename ‘s/$//.txt/’ *

    $ ls

    1.txt 2.txt 3.txt 4.txt

    3. 按自己的方式批量重命名文件

    $ ls

    1.ext 2.ext 3.ext 4.ext

    $ rename ‘s/(/d)/第$1 章/’ *

    $ ls

    第 1 章.ext 第 2 章.ext 第 3 章.ext 第 4 章.ext

    3.

    方法1:把文件名拆分处理,可以任意修改文件名

    find -name ‘*.log’ -printf %f//n|awk -F’.’ ‘{print $1}’|xargs -i{} mv {}.log xiyun_{}.log

    方法2:利用rename

    一般的linux下的rename命令比较简单

    rename ‘test’ ‘xiyun’ ‘*.log’

    把文件名中的某部分字符串替换掉

    ubuntu下的rename命令支持正则表达式,因此功能更强大。

    方法3:直接利用find和xargs和mv,中间不用awk,这样只能添加后缀名,不能修改文件名。

    开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明linux批量操作命令锦集!

    更多相关内容
  • linux批量处理图片

    千次阅读 2018-10-20 16:41:56
    linux 自带的ImageMagick能够很方便地对图片进行批量处理,比如,批量图片格式转换,大小转换等等。在这里记录一下如何将成千上万的xxx.TIF文件(标签图像文件格式)批量转换成对应的xxx.png格式。因为自己用到了...
    有时候我们需要对很多的图片或文件进行处理,如数据集,如果一个一个图片处理就会非常麻烦,这时候我们可以采用批量操作。linux 自带的ImageMagick能够很方便地对图片进行批量处理,比如,批量图片格式转换,大小转换等等。在这里记录一下如何将成千上万的xxx.TIF文件(标签图像文件格式)批量转换成对应的xxx.png格式。因为自己用到了双三次下采样(上采用同),所以也记录了。
    
    1. 先在终端进入到xxx.TIF所在文件夹,然后输入下列语句先在终端进入到xxx.TIF所在文件夹,然后输入下列语句
      在这里插入图片描述
      这个语句表示把xxx.TIF文件(*.TIF)转换成png格式(-format png ),然后把png文件缩小5倍(-size %20 **.png),最后保存到相应的文件夹(-path /home/img/Desktop/RAISE_HR),其他的语句可以对应添加和移除。
      2.在这里介绍一下怎么把文件夹里成千上万的文件按文件名的尾数进行查找,并进行删除在这里插入图片描述
      这里 find /home/img/Desktop/RAISE_HR |grep 0.png$表示找出相应文件夹中文件名以0结尾的png文件,| xargs rm -r对以上找出的文件执行删除。其他的语句也可以自行添加或删除。
      3.再放一段python代码,将文件夹里的所有文件批量进行双三次(bicubic)下采样操作
      在这里插入图片描述
      目前就记录这些啦!最后,要说的是Linux的命令行真的是非常方便啊哈哈哈
    展开全文
  • 1、首先, linux命令行切换到你需要修改文件名的目录之下: cd 目的目录 2、在该目录下新建sh文件: touch xxx.sh 3、打开xxx.sh文件: vim xxx.sh 3、将刚刚的脚本内容复制到该sh文件上,保存退出 编辑sh文件:...
  • Linux shell字符串截取与拼接 一 Linux 的字符串截取很有用。有八种方法。 假设有变量var=http://www.linuxidc.com/123.htm 1 # 号截取,删除左边字符,保留右边字符。 echo ${var#*//} 其中 var 是变量名,# ...

    Linux shell字符串截取与拼接

    一 Linux 的字符串截取很有用。有八种方法。

    假设有变量 var=http://www.linuxidc.com/123.htm 

    1  # 号截取,删除左边字符,保留右边字符。 

    echo ${var#*//}

    其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符

    即删除 http://

    结果是 :www.linuxidc.com/123.htm

    2  ## 号截取,删除左边字符,保留右边字符。

    echo ${var##*/}

    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

    即删除 http://www.linuxidc.com/         

    结果是 123.htm

     

    3  %号截取,删除右边字符,保留左边字符

    echo ${var%/*}

    %/* 表示从右边开始,删除第一个 / 号及右边的字符

    结果是:http://www.linuxidc.com

    4  %% 号截取,删除右边字符,保留左边字符

    echo ${var%%/*}

    %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

    结果是:http:

    5 从左边第几个字符开始,及字符的个数

    echo ${var:0:5}

     其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

    结果是:http:

    6 从左边第几个字符开始,一直到结束。

    echo ${var:7}

    其中的 7 表示左边第8个字符开始,一直到结束。

    结果是 :www.linuxidc.com/123.htm

    从右边第几个字符开始,及字符的个数

    echo ${var:0-7:3}

    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

    结果是:123

    8  从右边第几个字符开始,一直到结束。

    echo ${var:0-7}

    表示从右边第七个字符开始,一直到结束。

    结果是:123.htm

     

     

    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

    二  Linux Shell 脚本中字符串的拼接方法

    如果想要在变量后面添加一个字符,可以用一下方法:
    $value1=home

    $value2=${value1}"="

    echo $value2

    把要添加的字符串变量添加{},并且需要把$放到外面。

    这样输出的结果是:home=,也就是说连接成功。

    又如:
    [root@localhost sh]# var1=/etc/
    [root@localhost sh]# var2=yum.repos.d/
    [root@localhost sh]# var3=${var1}${var2}
    [root@localhost sh]# echo $var3
    /etc/yum.repos.d/

    判断文件是否存在的shell脚本代码

    #!/bin/sh
    # 判断文件是否存在
    # link:www.jb51.net
    # date2013/2/28
    
    myPath="/var/log/httpd/"
    myFile="/var /log/httpd/access.log"
    
    # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
    if [ ! -x "$myPath"]; then
      mkdir "$myPath"
    fi
    # 这里的-d 参数判断$myPath是否存在
    if [ ! -d "$myPath"]; then
     mkdir "$myPath"
    fi
    
    # 这里的-f参数判断$myFile是否存在
    if [ ! -f "$myFile" ]; then
     touch "$myFile"
    fi
    # 其他参数还有-n,-n是判断一个变量是否是否有值
    if [ ! -n "$myVar" ]; then
     echo "$myVar is empty"
     exit 0
    fi
    
    # 两个变量判断是否相等
    if [ "$var1" = "$var2" ]; then
     echo '$var1 eq $var2'
    else
     echo '$var1 not eq $var2'
    fi

    一个实例

    步骤:

    1)遍历Manesh_fasta文件夹

    2)将文件夹中的.fasta文件名改为.diso文件并赋予一个变量

    3)判断这个.diso文件在Manesh_diso目录中是否存在

    若不存在,则执行如下命令

    #!/bin/bash
    
    fasta_files=`ls /ifs/home/fanchao/Manesh_fasta`
    for filename in $fasta_files
    do
    diso_file="${filename%.*}".diso""
    if [ ! -f "/ifs/home/fanchao/Manesh_diso/$diso_file" ]; then
    /ifs/home/fanchao/disopred2.43/disopred/rundisopred  /ifs/home/fanchao/Manesh_fasta/$filename
    fi
    done

     bash变量的设定

    转载于:https://www.cnblogs.com/chaofn/p/4610753.html

    展开全文
  • NULL 博文链接:https://annan211.iteye.com/blog/2412844
  • LInux的实际使用过程中,创建多个文件、修改多个文件、查找文件中的某个部分等需求都需要有一种能够实现文件批量处理的方法,这篇文章主要介绍了常用的一些文件批量操作指令,大家一起学习一下吧。 一、那些用于...


    前言

    在LInux的实际使用过程中,创建多个文件、修改多个文件、查找文件中的某个部分等需求都需要有一种能够实现文件批量处理的方法,这篇文章主要介绍了常用的一些文件批量操作指令,大家一起学习一下吧。

    一、那些用于文件批量处理的指令

    *匹配0~任意字符
    [[:alpha:]]匹配单个字母
    [[:lower:]]匹配单个小写字母
    [[:upper:]]匹配单个大写字母
    [[:digit:]]匹配单个数字
    [[:alnum:]]匹配单个数字或字母
    [[:punct:]]匹配单个符号
    [[:space:]]匹配单个空格
    []模糊匹配,对象和待处理的对象进行对比,匹配就操作,不匹配则自动跳过
    {}精确匹配,精确指定集合中的每一个元素

    注意:对[]来说,[1-5]指的是1到5进行模糊匹配,有的话就操作,没有就跳过。[!d-f]|[^d-f]指除了d-f以外。对{}来说,{1…5}表示1-5,{a…c}表示a-c,逐个匹配,如果没有则会报错。

    二、使用方法

    [westos@MiWiFi-RM2100-srv Desktop]$ touch westos@ westos1 westosa westosA "westo s"
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westos[[:alpha:]]
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westos[[:digit:]]
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westos[[:lower:]]
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westos[[:upper:]]
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westos[[:punct:]]
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf westo[[:space:]]s
    

    上图指令分别实现了创建 westos@,westos1,westosa,westosA,westo s这几个文件,之后下面的几条指令分别实现了对各自对应文件的删除,其中值得注意的是,在删除文件名包含空格的文件时,在rm -rf 指令后面文件名时不需要用双引号,而创建该文件时需要用双引号引起来,否则无法正常完成此操作。

    [westos@MiWiFi-RM2100-srv Desktop]$ touch red{1..5}at  #创建red1at,red2at,red3at,red4at,red5at文件
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red{1,2}at  #删除red1at和red2at文件
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red[1-3]at  #删除red1at,red2at,red3at文件
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red[14]at   #删除red1at和red4at文件
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red[!15]at  #删除除了red1at和red5at的其它几个文件
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red[^15]at  #删除除了red1at和red5at的其它几个文件
    [westos@MiWiFi-RM2100-srv Desktop]$ mkdir linux  #创建linux目录
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red[13]at  #删除red1at和red3at文件
    [westos@MiWiFi-RM2100-srv Desktop]$ cp red[2-5]at linux  #复制red[2345]at文件到linux目录下。模糊匹配,如果没有则跳过,查找下一个文件
    [westos@MiWiFi-RM2100-srv Desktop]$ cp red{2..5}at linux  #复制red[2345]at文件到linux目录下。如果某个文件没有,则会报错。
    cp: cannot stat 'red3at': No such file or directory
    [westos@MiWiFi-RM2100-srv Desktop]$ rm -rf red{2..5}at  #删除red[2345]at文件,此时正常执行。
    

    注意:在删除操作时,经实验可得,模糊匹配和精确查找的结果没有区别,当没有某个文件时,rm 操作也可正常执行,如上图中rm -rf red{2…5}at 在没有red3at文件时,该命令也可正常执行,不会报错,而复制时,则会报错,如上图cp red{2…5}at linux,会产生 cp: cannot stat ‘red3at’: No such file or directory错误。

    总结

    主要讲了文件批量处理的方法,对所要匹配数据的类型相对应的写法要能够清晰的分开。值得注意的是[]方法和{}方法匹配机制的不同,可以自己动手实验验证一下,加深理解。

    展开全文
  • 我们在日常的系统维护中,经常会遇到要批量读取指定目录下的文件名来进行操作,比如:循环读取所有文件的内容、批量修改文件名等等。一旦大量的文件中,若其文件名中带有空格,则在我们读取文件名时就会遇到麻烦啦,...
  • Linux系统中批量创建文件,和批量修改文件名。 编写脚本,在/tmp 目录下批量创建 500 个文件,命名规则为:姓名.数字.hack.html 方法一: 1、touch name.{1…500}.hack.html 方法二: 2、for i in seq 500;do touch ...
  • Linux批量修改txt文档内容或加前缀 记录一个科研中遇到的问题吧,就是要批量修改 txt 文档中的内容。因为数据集的路径可能设置的不太相同。 问题是: 在一个文件加下有很多的 txt 文件。 这些文件中的内容是 ...
  • 本文给大家介绍Linux批量修改服务器用户密码方法步骤,批量修改服务器用户密码,由于机器数量比较多,因此采用批量修改密码的方式进行处理比较快,具体操作步骤大家通过本文学习吧
  • Linux做NGS数据批量处理

    千次阅读 2019-06-20 09:13:07
    在使用Linux做NGS数据处理的过程中,批量处理是提高工作效率的好方法。 做好配置文件 简单地讲,我们需要先制作一个配置文件,这里命名为config,然后config文件如以下所示: $ cat config SRR1039510_1.fastq.gz ...
  • linux 文件批量操作

    千次阅读 2018-10-29 11:38:19
     批量创建文件  批量改名文件名  批量删除文件   1.批量创建文件   这里说下就目前我所掌握的两种方法:  1.使用seq 法: zhang@zhang-virtual-machine:~/Code/Shell$ ls batch.sh zhang@zhang-...
  • Linux批量创建软链接

    千次阅读 2018-11-05 20:46:19
    Linux使用shell创建软链接 find 查找文件 注意找的的路劲 若路径名为绝对路径,则查询出的结果以绝对路径展示; 若路径名为相对路径,则查询出的结果以相对路径展示。 还使用了字符串切割 参数1 是源路劲 参数2 是...
  • 主要介绍了Linux一行命令处理批量文件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 背景 项目工程文件编码格式有utf-8,也有gb2312,在通过Source Insight 4.0打开文件只能设置一...为解决该问题,寻找批量文件编码格式转换工具(包括子目录)。 1.安装enca enca是Linux下的文件编码转换工具。 e...
  • Linux批量修改(删除)文件名某些字符(rename命令) 假设在路径C:/下存在多个类似以下的文件名 file_nall_abc1.txt file_nall_abc2.txt file_nall_abc3.txt file_nall_abc4.txt fi ... linux rename命令批量修改...
  • Linux批量telnet测试脚本

    万次阅读 2019-01-28 18:12:36
    今天有个需求,给了我几十个IP,然后每个IP提供了好几个端口,需要测试连通性。...#功能,批量telnet端口,输入参数需要测试的IP:PORT列表文件:telnet_list.txt(文件名可以自定义,但是只能跟脚...
  • Linux批量操作多个文件内容的指令 在Linux系统中,面对同一种内容格式相同的多个文件,可以用sed指令来实现 例如,要替换一个文件夹下面内容格式相同的多个文件,要替换变量名“variable”为“modification”,...
  • 使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示,需要的朋友参考下吧
  • Linux批量替换文件内容

    千次阅读 2021-05-09 07:10:28
    经在网上一番辛苦搜索,找到以下几个命令,并尝试执行……最终终于实现效果,哎,“书到用时方恨少”,特此针对今天的情况总结了一下Linux批量替换文件内容的命令,第一种:格式:sed -i "s/...
  • linux下find查找命令用法 Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得...
  • 需要对服务器进行批量的修改root密码,还要在每台服务器新建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样...
  • 下面介绍linux进程批量删除与查看实例,希望对各位朋友会有所帮助。1.Tab 键会自动补全在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 ...
  • linux下shell脚本实现文件的批量处理

    千次阅读 2019-04-25 14:47:48
    linux下shell脚本实现文件的批量处理说明:1、shell文件创建2、文件编辑注意:3、执行shell文件4、停止正在执行shell文件 说明: 在使用linux虚拟机处理数据的过程中,由于需要处理的文件量较大,并且有大量重复的...
  • Linux 批量处理dos2unix

    千次阅读 2011-11-01 15:39:22
    在 windows 下编辑过的文件一般都会被保存为 dos 格式, 而 mac os x 和 *nix 类系统一般都是使用 unix 格式, 在windows下编辑过的文件在*nix下打开,会被加上^M, 然后...因为文件的数量太大,所以需要批量的来导
  • linux软连接多个文件 批量

    千次阅读 2017-04-07 11:54:47
    在网上看了多个文章,但都很麻烦,最终经过实践发现一个一行命令即可把一个文件夹下的所有文件软连接到另一个文件夹下。 注意不是目录软连接,也不是单个文件软连接哦。一行命令搞定: ln -s source/* target/ ...
  • 想到的思路是:先列举出文件名称,再用awk对文件名称进行处理分割,最后将后缀名进行修改。 首先列举出文件名称,得到如图: 之后考虑获取名称,如“abad.jpg”,再将名称以“.”号分割,得到名称“abad”,再进行...
  • Linux下实现SSH Key 批量分发管理

    千次阅读 2017-11-15 11:43:22
    1)首先先实现ssh免密码登陆,可参考http://blog.csdn.net/qq_30256711/article/details/78537472 2) 编辑分发脚本fenfa.sh #!/bin/bash file="$1" remotedir="$2" . /etc/init.d/functions ... echo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,545
精华内容 28,218
关键字:

linux批量处理

友情链接: TIM3.rar