首页 热点资讯 义务教育 高等教育 出国留学 考研考公

如何在shell脚本中修改添加替换指定文件中的内容

发布网友 发布时间:2022-04-22 03:12

我来回答

5个回答

懂视网 时间:2022-04-09 11:31

test10.sh #!/bin/bash #使用for循环在/test10目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件 dir=/root/wyb/test10/ [ ! -d $dir ] && mkdir -p $dir for i in `seq 10` do touch $dir`echo $RANDOM|md5sum|cut -c 1-10`_oldboy.html done [root@localhost wyb]# bash test10.sh [root@localhost wyb]# cd test10 [root@localhost test10]# ls 3fb16229e0_oldboy.html 5bf08cf5ce_oldboy.html 73e073e1e6_oldboy.html 860bafa69b_oldboy.html c0b0067928_oldboy.html 512c517124_oldboy.html 7245bf5bea_oldboy.html 76f98bef45_oldboy.html 94a1245d85_oldboy.html f37ace5e6a_oldboy.html [root@localhost test10]#

 

[root@localhost wyb]# cat xiugai.sh 
#!/bin/bash
#将test10目录下的文件oldboy全部改成oldgirl(用for循环实现),并且html改成大写。
#3fb16229e0_oldboy.html 5bf08cf5ce_oldboy.html 73e073e1e6_oldboy.html 860bafa69b_oldboy.html c0b0067928_oldboy.html
#512c517124_oldboy.html 7245bf5bea_oldboy.html 76f98bef45_oldboy.html 94a1245d85_oldboy.html f37ace5e6a_oldboy.html

cd test10
for i in `ls` 
do

 a=`echo $i|cut -c 1-10`
 mv ${a}_oldboy.html ${a}_oldgirl.HTML


done
[root@localhost wyb]# bash xiugai.sh 
[root@localhost wyb]# cd test10
[root@localhost test10]# ls
3fb16229e0_oldgirl.HTML 5bf08cf5ce_oldgirl.HTML 73e073e1e6_oldgirl.HTML 860bafa69b_oldgirl.HTML c0b0067928_oldgirl.HTML
512c517124_oldgirl.HTML 7245bf5bea_oldgirl.HTML 76f98bef45_oldgirl.HTML 94a1245d85_oldgirl.HTML f37ace5e6a_oldgirl.HTML
[root@localhost test10]# 

 

shell脚本,在指定目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件。

标签:

热心网友 时间:2022-04-09 08:39

1、启动Linux系统,用ssh工具连上Linux系统。

2、bash自带了一些调试选项。

3、在脚本启动时添加调试选项。来调试debug.sh。

4、在脚本内添加调试选项,使用set 命令。

5、现在要看debug.sh脚本执行的调试信息,就不需要使用bash -x  ./debug.sh执行了。

6、在脚本开头添加-xv选项。

7、同样现在执行./debug.sh,也可打印出调试信息。

注意事项:

shell脚本在计算机科学中,是指“为使用者提供操作界面”的软件(命令解析器)。类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

热心网友 时间:2022-04-09 09:57

1、可以借助于shell命令执行另一个脚本文件或者用变量保存。比如a.sh和b.sh,a.sh中调用b.sh的代码,一起输出"hello world"的字符串。b.sh的代码如下echo " world!"。

2、a.sh可以借助"."来执行b.sh脚本,b.sh执行结果可以保存在变量中,也可直接输出,a.sh中的内容如下:echo "可以用.命令来执行脚本文件"echo "hello `./b.sh`"var=`./b.sh`echo"hello $var";。

3、a.sh也可以借助source命令执行b.sh脚本,b.sh执行结果可以保存在变量中,也可直接输出。a.sh中的内容如下:echo "用source命令执行脚本文件"echo "hello `source ./b.sh`"var=`source ./b.sh`echo "hello $var"。

4、a.sh中也可以借助于bash、sh等命令来执行b.sh脚本,b.sh的执行结果可以保存在变量中,也可以直接输出。a.sh中的内容如下。

5、另外,也可以使用$(),将b.sh的执行结果的内容保存到变量中,就完成了。

热心网友 时间:2022-04-09 11:32

用sed 替换
比如替换‘BOOTPROTO=none' 这一行可以用这个命令:
sed -i -e 's|BOOTPROTO=none|BOOTPROTO=dhcp|' conf.txt
其他行同理追问我试试!可以的话立马采用 其中的-i -e 和s是什么意思呢

追答-i 是直接修改文件文件名可以放到命令最后
-e ’s|aaa|bbb|' 把aaa替换成bbb

热心网友 时间:2022-04-09 13:23

-e 是多命令编辑参数,当你想用一条sed命令对一个文件内容进行多种操作时使用的,比如sed -i -e 's|BOOTPROTO=none|BOOTPROTO=dhcp|' -e 's|username=none|username=dhcp|' conf.txt

此处不加-e选项也是可以的。因为只有一个替换操作指令。s是替换的意思,和vi里的编译命令s/old/new/g很像。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com