linux字符串替换shell
‘壹’ SHELL脚本对linux下指定文本文件的满足条件的行的特定位置字符串进行替换
YDAY=$(date+"%Y%m%d"-d"-1days")
TDAY=$(date+"%Y%m%d")
awk-vYDAY=$YDAY-vTDAY=$TDAY'
NR==1{
if(substr($0,20,8)==YDAY)
$0=substr($0,1,19)TDAYsubstr($0,28)
if(substr($0,34,8)==YDAY)
$0=substr($0,1,33)TDAYsubstr($0,42)
}
/^TH/{
if(substr($0,21,8)==YDAY)
$0=substr($0,1,20)TDAYsubstr($0,29)
}
{print}'文件名
‘贰’ shell命令和linux命令的区别
shell翻译成壳的意思,它是包裹在Linux内核外层的,一个可通过一系列的Linux命令对操作系统发出相关指令的人机界面。shell可以通过其条件语句和循环语句等,把一系列Linux命令结合在一起,形成一个相当于面向过程的程序,即shell script,从而实现一些复杂的功能。
shell可以说是Linux命令集的概称,属于命令行的人机界面。shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。shell既是一个命令语言,也是一个程序设计语言;其次,shell也指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
由此可见,shell相当于经过装饰的命令行,它与命令行一样,都能操作Linux;但是shell是面向过程的,相当于有了一定的逻辑和过程,而命令行只是单一的操作。
‘叁’ linux 下用shell sed替换文本中的字符串
sed是行编辑器,用这个工具非常困难。可以参考以下脚本:
#!/bin/bash
while
read
line
do
if
echo
$line
|
grep
'Hour$'
>/dev/null;
then
echo
$line
|
tr
-d
'\n'
else
echo
$line
fi
done
<
$1
1,将上面脚本保存为fuck.sh
2,chmod
755
fuck.sh
3,./fuck.sh
file
‘肆’ linux shell 脚本中怎样将字符串转化为命令
1.没必要这样。因为shell脚本执行的时候是在一个子shell中执行的,即使你成功的将字符串转化为命令,你也不会因为脚本执行“cd /home”而在本shell中切换到/home下。……额,是不是说的绕了。。。
2.倘若按照你的想法,那就是一个新shell了。话句话说,你觉得像bash、sh、csh等等这些shell难道仅仅是一个脚本吗?再换句话说,难道bash仅仅是在sh的一个脚本吗?……
=====
3.假如真的需要在使用脚本的时候让使用者自己输入需要脚本执行的命令,只能用选择语句或者判断语句来匹配使用者的输入。因为使用者在使用脚本时输入给脚本的“命令”从根本上讲并不是命令,对脚本而言它仅仅是一个执行过程中的“选项”。好比“(1)删除(2)增加(3)退出... 请输入选项:”这种最平常的方式,拓展开也就是把提示去掉变成“请输入命令:”,而在使用者输入之后脚本用 if 删除==输入字符串 then 。。。这样的方式来满足需求。
======
没了。
‘伍’ linux替换文件中的字符串怎么使用
可以通过shell脚本替换字符串方式,如果知道第几行,格式如下:
hello
字符串内容可能是任意字符串,如何把>和<中间的字符串替换为我的字符串比如world
具体例子:
比如要替换第128行
sed
-i
'128s/>.*world
'
test.txt
这样子</pre
评论
0
0
加载更多
‘陆’ 知乎 linux命令和shell脚本的区别
准确上讲应该说是
shell
脚本文件编程(当然了,在该
shell
脚本文件中也可以包含
linux
系统命令)。shell
脚本文件是一个文本文件,它是将你需要完成的各种复杂功能通过编写
shell
程序来实现。例如:模式匹配(awk)
、字符串替换功能(sed)等。在
awk
和
sed
等工具的使用中肯定需要使用正则表达式的熟练使用,而
linux
命令是指
linux
系统的基本操作命令,例如:ls
列出文件名命令、cat
filename、cd
改变子目录命令等等。这就是它们之间的区别。
‘柒’ linux shell如何将本身是变量字符串日期批量替换
一条语句就够了:
cat 1.txt | sed -r "s/[0-9]{8}/`date -d yesterday +%Y%m%d`/" > 2.txt
‘捌’ linux如何替换文件指定行的特定位置字符串
可以通过Shell脚本替换字符串方式,如果知道第几行,格式如下:
<string id="str_ig_ghjjk">hello</string>
字符串内容可能是任意字符串,如何把>和<中间的字符串替换为我的字符串比如world
具体例子:
比如要替换第128行
sed -i '128s/>.*</>world</' test.txt
这样子
‘玖’ linux shell中 sed 文件的1到7行行首有指定字符串的整行替换为为指定内容.
sed '1,7s/^字符串.*/替换内容/' file
不要随便加 -i 参数。先确定好在加。