Linux 脚本编写 如何编写一个脚本,修改已有文件中的内容
发布网友
发布时间:2022-04-22 21:08
我来回答
共5个回答
热心网友
时间:2022-04-13 18:34
实现的方法如下:
1、第一步,打开命令控制台以找到要编辑的文件,执行命令ls来查看下面的一些文件,在下面有一个index.php文件,如下图所示。
2、其次,完成上述步骤后,执行命令vi
index.php,如下图所示。
3、接着,完成上述步骤后,如果要修改此文件的内容,请按键盘上的“
i”键,底部将变为INSERT,就可以对其进行修改,如下图所示。
4、然后,写echo的代码保存 Esc+:+wq,这是保存,按Enter键保存,如下图所示。
5、随后,完成上述步骤后,再次打开文件,将发现刚刚编写的代码已保存在其中,如下图所示。
6、最后,不保存命令是Esc+:+q!,可以灵活运用这些命令。可以使用上述步骤在Linux终端中使用命令来编辑和保存文件,如下图所示。这样,问题就解决了。
热心网友
时间:2022-04-13 19:52
说明:将以下脚本拷贝到vi中,保存,修改权限执行,得到你想要的结果。
#!/bin/bash
cd /etc/named
cp honey.com.zone /tmp/honey.com.zone.bk
awk '/^@ IN NS nsl.honey.com./ {print "@ IN NS nsl.ashaur.com";next} \
/^www IN A 192.168.1.7/ {print "www IN A 192.168.1.6";next} \
{print}' honey.com.zone >/tmp/honey.com.zone.tmp
cp /tmp/honey.com.zone.tmp /etc/named/honey.com.zone追问有种写法是这样的 sed -i 's#修改前#修改后#' 文件名 这个命令不知道您会用不? 如果使用这个命令的话,应该怎么写??非常感谢
追答用awk可以一次匹配多个项目,一次性就可以修改完成了。
用sed一次只能修改一个,要是一个文件里面有多个要修改就显示不那么实用哈。
热心网友
时间:2022-04-13 21:27
echo $1
sed "s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/${1}/" test.data
test.data 就是你的文件。用正则表达式匹配到ip地址,然后用命令行的输入替换。
不过问题是如果文件中有多个,还是挺麻烦的。还是用强大的脚本比较好。
另外,替换后还要通过临时文件替换回原文件。不能直接覆盖
热心网友
时间:2022-04-13 23:18
首先你得知道什么是脚本,linux脚本编写很简单,只要遵循循序渐进的步奏来写就OK了,比如说你要写一个系统更新和安装语言编译的脚本,如下:
#!/bin/bash
####---- global variables ----begin####
echo "will be installed, wait ..."
sed -i "s;alias cp;#alias cp;" ~/.bashrc
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
yum install ntpdate -y
/usr/sbin/ntpdate asia.pool.ntp.org >> /var/log/ntpdate.log
setenforce 0
service iptables stop
chkconfig iptables off
yum update -y
yum install gcc gcc-c++ libxml2-devel ncurses-devel openssl-devel make telnet vixie-cron autoconf gd gd-devel ntpdate wget pcre-devel python-devel python-setuptools libzip libzip-devel libjpeg* freetype* -y
easy_install pip
echo "Congratulations, the installation is over"
热心网友
时间:2022-04-14 03:51
$cat a.txt
@ IN NS nsl.honey.com.
www IN A 192.168.1.7
$sed -e 's/192.168.1.7/192.168.1.6/' a.txt > b.txt
或者,在原文件修改
$sed -i -e 's/192.168.1.7/192.168.1.6/' a.txt
Linux 脚本编写 如何编写一个脚本,修改已有文件中的内容
1、第一步,打开命令控制台以找到要编辑的文件,执行命令ls来查看下面的一些文件,在下面有一个index.php文件,如下图所示。2、其次,完成上述步骤后,执行命令vi index.php,如下图所示。3、接着,完成上述步骤后,如果要修改此文件的内容,请按键盘上的“ i”键,底部将变为INSERT,就可以对其...
linux脚本文件中怎么从文件中读取数据并赋值给变量?
1、首先,创建一个新的脚本文件,比如shell.sh,通过命令行工具vi打开并创建:`vishell.sh`,新建文件后,你需要在其中开始编写你的脚本。2、在文件的开头,添加脚本的执行环境声明,即#!/bin/bash,这是告诉系统使用bashshell来解释脚本内容,如下:bash !/bin/bash 3、接着,保存文件并赋予执行权限...
...与更新文件里的一段内容,可以使用sed, awk等Linux工具
1)截取test.xml文件起始行到<abcdef>行,保存到tmp文件;2)将要添加的内容根据变量值展开,附加写入tmp文件;3)截取test.xml文件</abcdef>行到结束行,附加写入tmp文件。4)移动tmp文件覆盖test.xml文件。代码:!/bin/sh$hostnames="host1,host2,host3 ..."$paragraph="many_strings"sed -n...
如何在shell脚本中修改添加替换指定文件中的内容
1、启动Linux系统,用ssh工具连上Linux系统。2、bash自带了一些调试选项。3、在脚本启动时添加调试选项。来调试debug.sh。4、在脚本内添加调试选项,使用set 命令。5、现在要看debug.sh脚本执行的调试信息,就不需要使用bash -x ./debug.sh执行了。6、在脚本开头添加-xv选项。7、同样现在执行./debu...
帮忙写个Linux下shell脚本,(使用sed命令处理hosts文件)
下面是脚本内容,注意修改/etc/hosts文件需要超级用户权限,换句话说,你需要sudo执行本脚本。!/bin/bash DELIM="'"N=2 echo "Please pull the file to me."read storepath1 storepath1="/etc/hosts"storepath1=`echo "$storepath1" | cut -d "$DELIM" -f $N`这个好理解:1.把不是以#...
linux编写一个shell脚本,救命
1.先写个脚本,叫help.sh !/bin/sh dir=/tmp/history day=20 [ -d $dir] || mkdir -p $dir find $dir -type f -mtime +$day -delete time=`date +%F\ %H:%M:%S`df -k > /tmp/history/df-k$time 2.设置定时任务,用crontab命令来实现。crontab -e 59 23 * * * /script...
Linux系统下如何新建脚本文件linux新建脚本文件
首先,打开你要存放脚本文件的文件夹,比如”~/scripts/”文件夹,在这里新建一个文件。Linux提供了多种新建文件的方法:(1)使用touch命令:这是最简单的方法,在文件夹中打开终端,输入命令”touch filename.sh”就可以创建一个名为filename.sh的脚本文件了。(2)使用vi...
如何编写一个编译程序的脚本
文件后缀.sh 第一行代码需要指定路径来执行程序 !/bin/sh !/bin/bash 一般一键脚本会要求用户输入各种选项:提示“请输入姓名”并等待30秒,把用户的输入保存入变量name中 read -t 30 -p "请输入用户名称:" name echo -e "\n"echo "用户名为:$name"提示“请输入密码”并等待30秒,把用户的...
Linux下编写一脚本,实现本目录下文件的批量复制。
最简单的方式,使用 -r 选项进行递归复制。cp -r from/ dest/ 如果只需要复制某个文件夹下面的特殊文件,可以使用 find 命令先找出这些文件,然后进行复制,例如:将 from 目录下的所有.txt文件复制到 dest目录下:find ./from/ -name "*.txt" -exec cp {} ./dest/ \;...
帮我修改一个linux的shell脚本:根据文件名批量搜索并复制文件
while read line; do if [ -f "/sample/$line" ]; then echo "file exists: $line"; cp "/sample/$line" /new/; fi; done < file.txt