首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用sed命令批量处理Makefile文件的脚本

1 sed命令的简要说明 由于sed命令可用的参数太多了,这里只列举脚本中用到的几个参数: 1 2 3 sed -i:直接修改文件而不是将处理的结果在屏幕上输出; sed -e:多个操作action按顺序执行...; sed -e '/help:/ a 要追加的内容':表示在help:文字后面追加内容。...2 具体代码 代码比较简单,直接执行命令./handle_makefile.sh即可。其中handle函数主要用到了正则替换,追加,删除这三个action操作。...#echo "" | awk '{fflush()}' fi done 3 脚本执行结果 如上图所示,脚本不断遍历src目录下的Makefile文件,然后进行处理。...4 脚本管理 目前已经把这个脚本放在Github了,地址是https://github.com/vfhky/shell-tools,以后脚本的更新或者更多好用的脚本也都会加入到这个工程中。

13510
您找到你想要的搜索结果了吗?
是的
没有找到

《Linux命令行与shell脚本编程大全》第十九章 初识sed和gawk

窍门:可以用.sed作为sed脚本文件的扩展名 19.1.2 gawk程序 它提供了一种编程语言而不只是编辑器命令,在gawk编程语言中,可以做: 1)定义变量保存数据 2)使用算术和字符串操作符来处理数据...从命令行读取程序脚本 gawk程序脚本用一对花括号来定义。必须将脚本命令放到两个花括号{}中间。...在处理数据前运行脚本 gawk还允许指定程序脚本何时运行。 默认gawk会从输入中读取一行文本,然后针对该行的数据执行程序脚本。 有时候会需要在处理数据前运行脚本,BEGIN就是用来做这个的。...19.2.2 使用地址 默认命令会应用于所有的行,但是也可以将命令用于特定行。 解决方法:行寻址。...   // 删除2到最后一行 模式匹配特性也适用于删除命令: $sed ‘/xcy/d’ data.txt  // 删除包含xcy 的行 不会真正在文件中删除,只是在sed命令输出中删除了。

1.9K50

《Linux命令行与shell脚本编程大全》第二十一章 sed进阶

(正好跟cat相反) 21.4 改变流 通常,sed编辑器会从脚本的顶部开始,一直执行到脚本的结尾(D命令例外,它会强制sed编辑器返回到脚本的顶部,而不读取新的行)。...sed编辑器提供了一个方法来改变命令脚本的执行流程,其结果与结构化编程类似。 21.4.1 分支 sed编辑器提供了一种方法可以基于地址、地址模式或地址区间排除一整块命令。...(t)也可以用来改变sed编辑器脚本的执行流程。...第一次先匹配到了12345 678,然后插入一个, 第二次匹配到了12 345,678,然后插入一个逗号 第三次匹配不到了 21.6 在脚本中使用sed 21.6.1 使用包装脚本 可以将sed编辑器命令放到...包装脚本充当着sed编辑器和命令行之间的中间人角色。

1.7K90

了解基本的Linux sed命令

Linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed。...它使您能够使用Linux sed命令在操作系统中执行文本文件操作。 与大多数Linux应用程序一样,sed可以处理管道输入,这使它成为一种有效的脚本工具。...当这些函数作为脚本的一部分运行时,它们是可重复的和一致的,并且您可以快速实现更改。 但是sed的主要目的是更改文本文件的内容。它使用了一些重要的命令行开关。/s表示搜索,该命令以/g分隔。...下面的脚本可能看起来很复杂,但操作系统只是传递多个sed更改数据包,每个数据包前缀为-e。...用作分隔符的反斜杠可能不适用于某些脚本,但sed允许您更改分隔符。

1.5K40

实战基本的Linux sed命令示例代码

Linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed。 想要修改文件而不覆盖原始文件的Linux管理员有很多选择,但最有效的工具之一是流编辑器 – sed。...它使您能够使用Linux sed命令在操作系统中执行文本文件操作。 与大多数Linux应用程序一样,sed可以处理管道输入,这使它成为一种有效的脚本工具。...例如,这个Linux sed命令可以帮助您定位和创建配置文件的新版本。当这些函数作为脚本的一部分运行时,它们是可重复的和一致的,并且您可以快速实现更改。 但是sed的主要目的是更改文本文件的内容。...下面的脚本可能看起来很复杂,但操作系统只是传递多个sed更改数据包,每个数据包前缀为-e。 使用sshd_config文件,您可以更改端口号,禁用密码身份验证并一步启用公钥身份验证。...用作分隔符的反斜杠可能不适用于某些脚本,但sed允许您更改分隔符。

1.8K21

使用 docker compose 搭建 hadoop集群 总结

-- 学习了 docker 之后实践机会较少,通过本次实践练习 dockerfile 的编写,docker compose 的使用,以及一些 linux 命令的回顾操作系统基础镜像选用 ubuntu 20.04.../g' /etc/apt/sources.list# 用于提供 ssh 服务、下载 及修改文件的工具RUN apt install -y openssh-server wget openssh-client...CLASSPATH=$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bashrc \&& echo 'export HADOOP_HOME=...进行文本替换来修改配置文件,但一番尝试之后发现 sed 适合替换字符串,如单词等,但不适合带有空格的字符串,故直接使用 echo 在文件末尾追加RUN echo 'PermitRootLogin yes...' >> /etc/ssh/sshd_config \&& echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config # 通过启动脚本文件来运行

69310

Shell 编程日记

Shell 脚本执行顺序依旧遵循“从上往下、从左往右”的顺序; Shell 脚本就是把一些命和运算符写进脚本文件,然后完成批量重复性工作而已; Shell 脚本支持流程控制,如 for、while、if...,必须以此句开头,表示 shell 脚本解释器; Shell 脚本注释用 # 开头,但第一句除外/usr/bin/bash; Shell 脚本通常以 .sh 为后缀命名,约定成俗; Shell 脚本调试可以使用...并统计行数cat test.txt | wc -l 009 (()) 双括号一般用于计算val++ :后增val-- : 后减++val : 先增--val : 先减!...1 一般性未知错误 2 不适合的shel命令错误 126 命令不可执行 127 没有找到相关命令 128 无效的退出参数 128+x 与Linux信号x相关的严重错误 130 通过Ctrl+C终止 255...arry_name=( value1 value2 value3 ... ) // 格式2,适用于元素较多情况 数组元素操作 需要注意数组的作用域,博主就遇到数组作用域问题

19420

linux中最为常用的三大文本(grep,sed,awk)处理工具

-f 指定sed脚本的文件名 如果命令操作比较多的时候就会比较麻烦,这时候把多个子命令操作写入脚本文件,然后使用 -f 选项来指定该脚本 -n 取消默认的输出 默认情况下,sed 会在所有的脚本指定执行完毕后...6.5 sed y 转换字符 y 转换命令是唯一可以处理单个字符的 sed 脚本命令 格式 [address]y/inchars/outchars/ 6.5.1 sed ‘y/hani/HANI/’...HANI is a good man,hani is handsome. 6.8 sed q 退出脚本命令 q 命令的作用是使 sed 命令在第一次匹配任务结束后,退出 sed 程序,不再进行对后续数据的处理.... 8. sed 脚本命令的寻址方式/定址 定址用于决定对哪些行进行编辑。...这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

6K10

编写脚本完成Maven的一键安装&配置

编写脚本完成Maven的一键安装&配置 每次在Linux上安装环境,都要花费较多的时间,而这些安装命令其实都相同。秉承着事情只做一次的原则,将命令写成脚本,之后复用是最好的选择。...然后在/home/hadoop/automaticDeploy目录下添加了配置文件frames.txt,用于指定安装包名称。...fi mkdir /usr/lib/maven && chmod -R 777 /usr/lib/maven #2.解压到指定文件夹/usr/lib/java...命令,先获取到配置文件的标签的定位,然后在后面追加镜像源的配置。...这样,maven一键安装脚本就配置好了,后续可以一键安装。这个脚本是集成在之前提供的大数据环境一键安装脚本中的。大家可以自行改造,生成自己的脚本

98110

Linux命令篇(二):文档编辑部分

1、grep 命令 grep命令主要用于查询文件中的字符串或者应用于正则表达式中,基本语法格式: gerp [参数选项] [文件] 常用参数 -i:忽略大小写进行匹配。...rgrep linux * 3、sed 命令 sed命令主要是利用脚本来处理文本文件 常用参数 a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行) c :取代, c 的后面可以接字串...sed命令后,输出结果如下: hello world java script python this is c++ linux shell script 搜索 test.txt文件中有...对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把 pt 替换为 ss nl test.txt | sed -n '/script/{s/pt/ss/;p;q}' 2 java...expr命令是一个计算器命令用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串,基本语法: expr [表达式] 表达式的说明 用空格隔开每个项; 用反斜杠 \ 放在 shell

9910

MeterSphere教程:windows下ubuntu子系统安装metersphere环境用于本地练习

先在windows系统下搭建好ubuntu的子系统环境: 在Windows上安装Ubuntu子系统用于练习linux基本命令 接下来可以参考官方的安装文档进行安装: https://metersphere.io.../docs/quick_start/quick_start/ 本来想使用一键部署的,奈何执行命令直接报错,可能跟这个子系统的环境有关吧: 于是,打算采用离线安装的方式,手动打开安装脚本,然后直接看到最后几行...*#MS_IMAGE_TAG=${MSVERSION}#g" install.conf sed -i -e "s#MS_IMAGE_PREFIX=....*#MS_IMAGE_TAG=v1.20.4-lts#g" install.conf sed -i -e "s#MS_IMAGE_PREFIX=....官方提供的账号,有部分功能的权限没有,再加上很多人共用一个账号在操作,上面的测试数据什么的比较多,自己操作的数据啥的,容易被别人误删等,然后自己公司的接口也不适合在公网去直接进行调试。

1.4K30

转录组分析实战第一天就踩的坑——sed与换行符的恩怨

于是我联想起之前“萌哥”讲过bc这个命令,还自己搞了一个“花样”出来:$ echo $(zcat SRR1039510_1.fastq.gz | wc -l)100000$ echo $(zcat SRR1039510...于是又开始猜想,可能是最后一个换行符没有删掉,为什么没有删掉呢,可能这个命令不适合我,需要再调整。于是又学习了这里面的冒号:t a N都是些什么意思,怎么用的。。。。...然后,脚本里的命令被执行;可以对每一个命令指定地址(地址相当于一种条件,只有条件被满足,才会执行紧跟其后的命令。...当到达脚本的结尾,模式空间的内容(如果之前行末的换行符被删除,此时会被加回来)被写入到输出流(除非使用了选项'-n')。然后,对下一行开始下一个执行周期。...-n '2~4p' | sed -z 's/\n//g'| wc -c 1575000其实不纠结于sed,可以用awk来实现:$ zcat SRR1039510_1.fastq.gz | sed -n

69580

linux系列之shell编程(一)

脚本格式 脚本以 #!...echo $0 $1 $2 [shaofei@upuptop-pc sh]$ sh param.sh 1 2 3 param.sh 1 2 特殊变量:$ 基本语法 $# (获取所有的参数个数,常用于循环...双分号;;表示命令序列结束,相当于java中的break 最后可以使用*)表示默认模式,相当于java中的break 最后以esac结束 案例 输入一个数字,如果是1 则输出 true 如果是2 则输出...@upuptop-pc sh]$ cat txt | grep java | cut -d " " -f 1 java sed sed是一种流编辑器,它一次处理一行内容。...处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。

1.4K00

Linux进阶命令和Shell编程

1.高级文本命令——sed1.1sed简介 sed全称是:Stream EDitor,即流编辑器,是一个很好的文本处理工具,本身是一个管道命令,处理时,把当前处理的行存储在临时缓冲区中,接着用sed命令处理缓冲区中的内容...但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-i :直接修改读取的文件内容,而不是输出到终端。...练习: 3.高级文本命令——cut、wc、sort3.1cut命令 cut命令可以从一个文本文件或者文本流中提取文本列,有点类似于java中的split(分割)。...测试的时候就需要传入参数,我这个脚本的名称是case.sh,测试命令如下,start,star是传入的参数。...4.5read命令 命令规则:read -p "提示语句" 参数,这个类似于java中的Scanner,就是获取用户在控制台输入的内容。

1.7K80

shell编程05【自定义函数和高级命令

自定函数 语法    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。...准备数据 [root@hadoop-node01 ~]# vim a.txt [root@hadoop-node01 ~]# cat a.txt hello java name java php spring...处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。...awk   awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。...它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势 http://man.linuxde.net/awk

1.4K40
领券