shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)

:暂无数据 2026-09-27 10:50:07 :0

shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)

今天给各位分享SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换的知识,其中也会对SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换

YDAY=$(date +"%Y%m%d" -d "-1 days")
TDAY=$(date +"%Y%m%d")
awk  -v YDAY=$YDAY  -v TDAY=$TDAY ’
NR==1 {
if(substr($0,20,8)==YDAY)
    $0=substr($0,1,19) TDAY substr($0,28)
if(substr($0,34,8)==YDAY)
    $0=substr($0,1,33) TDAY substr($0,42)
}
/^TH/{
if(substr($0,21,8)==YDAY)
    $0=substr($0,1,20) TDAY substr($0,29)
}
{print }’  文件名

如何使用shell 批量ping域名,生成一个结果文件

脚本:

#!/bin/sh
filename=domains.txt
ping_count=3
while read domain; do
x=$(ping -W 1 -c $ping_count $domain 2》/dev/null | grep -E "(PING)|(loss)")
loss=$(echo "$x" | grep "loss" | awk ’{printf "%s", substr($6, 1, length($6)-1)}’)
if ; then
echo "$x" | grep "PING" | awk ’{printf "%s no ping\n", $2}’
else
echo "$x" | grep "PING" | awk ’{printf "%s %s\n", $2, substr($3, 2, length($3)-2)}’
fi
done 《$filename

可适当调整每个域名 ping 的次数(ping_count),以保证准确度和性能。

数据文件:

cat domains.txt

www.baidu.com

www.taobao.com

www.qq.com

www.baidud.com

结果:

www.baidu.com 14.215.177.38

www.taobao.com 183.61.241.252

www.qq.com 59.37.96.63

www.baidud.com no ping

另:我理解那个“地名”应该是“域名”误写,如果真的需要地名,可以借助 whois 命令,甚至 IP 数据库(比如纯真数据库)。

linux shell脚本,如何用星号 输出“李“这个字

用PHP获得这个字的代码、点阵和验证:

《?php

$hz="李";

$n=ord($hz);

$n1 = ord(substr($hz,0,1)) - 160;

$n2 = ord(substr($hz,1,1)) - 160;

$offset = ($n1-1)*94 + ($n2-1);

echo "汉字【{$hz}】,内码【".bin2hex($hz)."】,区【{$n1}】,位【{$n2}】,字库偏移【{$offset}】\n";

$hzk=substr(file_get_contents(’hzk16’),$offset * 32,32);

//显示字库

$dbstr=;

for ($i=0;$i《32;$i++) {

    $dbstr=ord(substr($hzk,$i,1));

}

echo implode(’,’,$dbstr) . "\n";

//显示汉字

for ($i=0;$i《32;$i++) {

    $c=ord(substr($hzk,$i,1));

    //echo "$c:\n";

    $m = 1《《7;

    for ($j=0;$j《8;$j++){

        //echo "({$j} {$m} ";

        echo ($c & $m) ? ’*’ : ’.’;

        //echo ")\n";

        $m 》》= 1;

    }

    if ($i % 2 == 1) echo "\n";

}

?》

运行结果见下图:

那么你需要的shell脚本为:

echo ’       *’

echo ’       *    *’

echo ’ *************’

echo ’       *’

echo ’     * * *’

echo ’    *  *  **’

echo ’  **   *    ***’

echo ’**     *     *’

echo ’    *******’

echo ’         *’

echo ’       **   *’

echo ’ *************’

echo ’       *’

echo ’       *’

echo ’     * *’

echo ’      *’

shell中取字符串子串的几种方式

shell中截取字符串的方法有很多中,
${expression}一共有9种使用方法。
${parameter:-word}
${parameter:=word}
${parameter:?word}
${parameter:+word}
上面4种可以用来进行缺省值的替换。
${#parameter}
上面这种可以获得字符串的长度。
${parameter%word} 最小限度从后面截取word
${parameter%%word} 最大限度从后面截取word
${parameter#word} 最小限度从前面截取word
${parameter##word} 最大限度从前面截取word
上面4个就是用来截取字符串的方法了。
有了着四种用法就不必使用cut命令来截取字符串了
第一种又可以分为四种情况,下面一一介绍。
1、使用 # 号操作符。用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。用法为#*substr,例如:
***隐藏网址***
echo ${str#*//}
得到的结果为www.你的域名.com/cut-string.html,即删除从左边开始到第一个"//"及其左边所有字符2、使用 ## 号操作符。用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符。用法为##*substr,例如:
***隐藏网址***
echo ${str##*/}
得到的结果为cut-string.html,即删除最后出现的"/"及其左边所有字符
3、使用 % 号操作符。用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为%substr*,例如:
***隐藏网址***
echo ${str%/*}
***隐藏网址***
4、使用 %% 号操作符。用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。用法为%%substr*,例如:
***隐藏网址***
echo ${str%%/*}
***隐藏网址***
第二种也分为四种,分别介绍如下:
1、从左边第几个字符开始以及字符的个数,用法为:start:len,例如:
***隐藏网址***
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
***隐藏网址***
2、从左边第几个字符开始一直到结束,用法为:start,例如:
***隐藏网址***
echo ${var:7}
其中的 7 表示左边第8个字符开始
结果是:www.你的域名.com/cut-string.html
3、从右边第几个字符开始以及字符的个数,用法:0-start:len,例如:
***隐藏网址***
echo ${str:0-15:10}
其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
结果是:cut-string
3、从右边第几个字符开始一直到结束,用法:0-start,例如:
***隐藏网址***
echo ${str:0-4}
其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
结果是:html
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)。

如何用shell脚本语言去截取字符串

一. 概念
在shell中通过截取字符串操作可以提取到我们所需要的特定字符串
二. 操作符
① #表示 从左截取,删除左边字符,保留右边字符
其中 str是变量名,# 号是运算符,*//表示从左边开始删除第一个 //号及左边的所有字符
② %表示从右边开始截取,删除右边字符,保留左边字符
其中str是变量名,%号是运算符,/*表示从右边开始删除第一个/号及右边的所有字符
③ ##表示从左边开始截取,删除左边字符,保留右边字符
其中str是变量名,##号是运算符,*/表示从左边开始匹配最后一个(最右边一个)/,并且删除该/及前面的所有字符
④ %%表示从右边开始截取,删除右边字符,保留左边字符
其中str是变量名,%%号是运算符,/*表示从右边开始匹配最后一个(最左边一个)/,并且删除该/及右边的所有字符
⑤ 从左边第几个字符开始,及字符的个数
其中的 0 表示左边第一个字符开始,10表示字符的总个数。
三.采用cut工具截取
-c选项表示用字符定位: 3,7表示截取第三个字符和第七个字符,4-9表示截取第四个字符到第九个字符

linux脚本将文本中的数据除以固定的数

方法就是给出的awk语句:
echo 123.321.aaa92 | awk ’{ i = index($0,"aaa"); pos = i+3; m = substr($0,1,pos-1); n = substr($0,pos); n+=1;printf("%s%s\n",m,n); }’

文章分享结束,shell脚本substr和SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换的答案你都知道了吗?欢迎再次光临本站哦!

shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)

本文编辑:admin

更多文章:


shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)

shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)

今天给各位分享SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换的知识,其中也会对SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注

2026年9月27日 10:50

dos显示文件内容命令(DOS下DIR命令查看文件 文件太多 屏幕上面的看不见 怎么办)

dos显示文件内容命令(DOS下DIR命令查看文件 文件太多 屏幕上面的看不见 怎么办)

本篇文章给大家谈谈dos显示文件内容命令,以及DOS下DIR命令查看文件 文件太多 屏幕上面的看不见 怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月27日 10:20

怎么提高笔记本cpu利用率(怎么提高电脑CPU的占用率)

怎么提高笔记本cpu利用率(怎么提高电脑CPU的占用率)

大家好,如果您还对怎么提高笔记本cpu利用率不太了解,没有关系,今天就由本站为大家分享怎么提高笔记本cpu利用率的知识,包括怎么提高电脑CPU的占用率的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月27日 09:30

css定义位置(css代码应该插在html代码的什么位置)

css定义位置(css代码应该插在html代码的什么位置)

大家好,今天小编来为大家解答以下的问题,关于css定义位置,css代码应该插在html代码的什么位置这个很多人还不知道,现在让我们一起来看看吧!

2026年9月27日 08:30

年份属于什么变量类型(年份的度量标准是名义吗)

年份属于什么变量类型(年份的度量标准是名义吗)

“年份属于什么变量类型”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看年份属于什么变量类型(年份的度量标准是名义吗)!

2026年9月27日 05:20

oracle维护中的常见问题(紧急求助:oracle内存不释放的故障)

oracle维护中的常见问题(紧急求助:oracle内存不释放的故障)

各位老铁们好,相信很多人对oracle维护中的常见问题都不是特别的了解,因此呢,今天就来为大家分享下关于oracle维护中的常见问题以及紧急求助:oracle内存不释放的故障的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧

2026年9月27日 04:40

flash脚本编写(flash中点击一个按钮跳转到第二帧,再点击回到第一帧,这么脚本怎么编写)

flash脚本编写(flash中点击一个按钮跳转到第二帧,再点击回到第一帧,这么脚本怎么编写)

本篇文章给大家谈谈flash脚本编写,以及flash中点击一个按钮跳转到第二帧,再点击回到第一帧,这么脚本怎么编写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月27日 01:10

asc文件怎么转化为txt(geomagic studio2013怎么转换txt文件)

asc文件怎么转化为txt(geomagic studio2013怎么转换txt文件)

大家好,asc文件怎么转化为txt相信很多的网友都不是很明白,包括geomagic studio2013怎么转换txt文件也是一样,不过没有关系,接下来就来为大家分享关于asc文件怎么转化为txt和geomagic studio2013怎么

2026年9月26日 21:30

oracle insert 系统时间(Oracle数据库中插入timestamp类型的数据)

oracle insert 系统时间(Oracle数据库中插入timestamp类型的数据)

其实oracle insert 系统时间的问题并不复杂,但是又很多的朋友都不太了解Oracle数据库中插入timestamp类型的数据,因此呢,今天小编就来为大家分享oracle insert 系统时间的一些知识,希望可以帮助到大家,下面我

2026年9月26日 21:10

python调用pascal(在编程语言中是什么地位为什么很多大学不教 Python)

python调用pascal(在编程语言中是什么地位为什么很多大学不教 Python)

大家好,如果您还对python调用pascal不太了解,没有关系,今天就由本站为大家分享python调用pascal的知识,包括在编程语言中是什么地位为什么很多大学不教 Python的问题都会给大家分析到,还望可以解决大家的问题,下面我们就

2026年9月26日 20:20

最近更新

shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)
2026-09-27 10:50:07 浏览:0
docker中文官网(CentOS8.1安装docker)
2026-09-27 09:50:17 浏览:2
热门文章

oppoa105k浏览器是哪个版本(OPPO A105K UC浏览器)
2026-07-22 22:30:02 浏览:10
dessert(dessert是什么意思)
2026-05-03 12:45:03 浏览:7
标签列表