Linux处理批量文件的脚本

前言

最好的方法不一定是你最快能想到的。这里提供一种使用sed命令构造命令解决处理批量文件的技巧,供参考。

需求案例1

将当前目录下所有的0_80_91.txt、0_80_92.txt、0_80_93.txt、。。。等几十个文件的文件名修改为0_81_91.txt、0_81_92.txt、0_81_93.txt。也就是将文件名中的80修改为81。

实现命令为:ls *.txt |sed -nr ‘s/(0_)(80)(.*)/mv \1\2\3 \181\3/gp‘ | sh

#ls *.txt
0_80_91.txt  0_80_92.txt  0_80_93.txt
#ls *.txt |sed -nr ‘s/(0_)(80)(.*)/mv \1\2\3 \181\3/gp‘
mv 0_80_91.txt 0_81_91.txt
mv 0_80_92.txt 0_81_92.txt
mv 0_80_93.txt 0_81_93.txt
#ls *.txt |sed -nr ‘s/(0_)(80)(.*)/mv \1\2\3 \181\3/gp‘ | sh
#ls *.txt
0_81_91.txt  0_81_92.txt  0_81_93.txt

需求案例1

将当前目录下的所有的0_80_91.Z、0_80_92.Z、0_80_93.Z文件通过命令cc_uncompress调用解压并输出到指定文件。调用格式为cc_uncompress -s 0_80_91.txt -d 1.txt。1.txt可以是任意文件名。

实现命令为:ls *.Z | sed -nr ‘s/(.*)/cc_uncompress -s \1 -d \1.txt/gp‘

#ls *.Z | sed -nr ‘s/(.*)/cc_uncompress -s \1 -d \1.txt/gp‘
cc_uncompress -s 0_80_91.Z -d 0_80_91.Z.txt
cc_uncompress -s 0_80_92.Z -d 0_80_92.Z.txt
cc_uncompress -s 0_80_93.Z -d 0_80_93.Z.txt
#ls *.Z | sed -nr ‘s/(.*)/cc_uncompress -s \1 -d \1.txt/gp‘ | sh

原文地址:https://www.cnblogs.com/linyfeng/p/10198832.html

时间: 2024-11-06 07:09:03

Linux处理批量文件的脚本的相关文章

linux web目录文件全备脚本

#!/bin/bash#文件全备脚本#删除7天以前的文件#调用方法#yxy #www.sql8.net#[email protected]#2014-08-20#请主意所有路径都为全整目录#sh filebak.sh  要备份的目标目录 备份文件存放路径 保留文件的天数  #sh filebak.sh  /home/wd/wd/wd /home/wd/wd/bakup 7#sh filebak.sh  /home/dd/dd/dd /home/dd/dd/bakup 7 #pathpath=$1

linux-批量重命名脚本

#!/bin/bash # rename jpg and png count=1 for img in *.jpg *.png do new=image-$count.${img#*.} mv "$img" "$new" 2> /dev/null if[ $? -eq 0 ]; then echo "renaming $img to $new" let count++ fi done 将文件名中有空格的文件名的空格全部替换为- find p

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

转载:http://blog.csdn.net/kauu/article/details/1757325 一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep ww

Linux系统批量配置脚本

系统批量配置脚本使用手册 使用要求 linux操作系统(RHEL,kylin,凝思磐石均可用) 本地计算机expect命令可用 ssh.scp命令可用 脚本组成及功能说明 引导脚本 - config.sh 该脚本会引导整个脚本组合的执行,提示用户输入远程计算机IP地址(范围)及root密码. 系统配置脚本 - sysinfo-collect.sh 该脚本中可以自行定制需要在远程计算机上执行的命令,配合引导脚本及响应脚本使用,可以完成的任务有: 在远程计算机批量执行命令: 修改远程计算机配置文件:

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 能够帮助实现一些强大的.实时的转换.认真研究正则表达式,并正确地使用,将会为您省去大量

shell 脚本实战笔记(9)--linux自动批量添加用户

前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, 对一个基于linux平台的集群服务或软件(比如hadoop集群), 有时也会涉及到这块. 应用场景: 是以centos 6.4作为演示的系统, 其他的系统有类同, 也有差异, 且以实战演练, 一步步的讲述下流程. *) 实战演练 查阅useradd的使用和参数选项useradd --help -d,

Linux下 批量替换文件内容方法和odoo替换谷歌字体

#odoo#用中科院CDN解决odoo用到google字体速度慢问ti Linux下批量替换文件内容方法 http://www.cnblogs.com/fjping0606/p/4428850.html 1:查找find . -type f -name "*.html"|xargs grep 'yourstring' 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Per

[转帖]Linux下批量替换文件内容方法

https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Perl 命令中加上-e 选项,后跟一行代码,那它就会像

linux 目录下文件批量植入和删除

linux目录下文件批量植入 [[email protected] http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i "1  i <script>alert(1)</script>" 其中上面的1 为文件的第一行 i为植入 批量删除: [[email protected] ~]# find /usr/local/http2/htdocs/ -type f|xargs sed -i '/<s