作者:hacker 日期:2022-11-26 分类:网络教程
awk '{print $1,substr($2,5,4)}' filename newfile
substr()shell固定位置固定字符筛选的调用方法shell固定位置固定字符筛选:mysub=substr(mystring,startpos,maxlen)
mystring 应该是要从中抽取子串shell固定位置固定字符筛选的字符串变量或文字字符串。
startpos 应该设置成起始字符位置。
maxlen 应该包含要抽取shell固定位置固定字符筛选的字符串的最大长度。
根据位置替换即可:
read ip
sed -ri "/subnet/s/(subnet )[^ ]+( netmask.*)/\1$ip\2/" /mnt/file
/subnet/ - 先正则匹配到含有subnet的行,然后替换。
替换的时候将不变的部分用小括号括起来,后面依次用\1 , \2 原封不动地引用回来。
-r 选项用于支持扩展正则,这样就不需要额外的转义符。
[^ ] 表示不为空格的任意一个字符,+ 表示重复该字符至少1次。
linux文件处理功能强大,有N多命令,包括cat/head/tail/sed/tr..甚至可用awk,shell固定位置固定字符筛选你shell固定位置固定字符筛选的要求可简单地使用以下命令
sed
-n
'3,3p'
你的文件
|
cut
-c
8-15
其中3,3p表示从第3行取到第3行,8-15就是第8到15个字符
如果位置固定shell固定位置固定字符筛选,比如从字符串第四个字符开始shell固定位置固定字符筛选,共3个字符,
${变量:4:3}
是取得子字符串
${变量/旧字串/新字串}
是替换
两个结合起来,见上图例子
就是
把任意字符串中固定位置shell固定位置固定字符筛选的字符改为想要的字符
已有4位网友发表了看法:
访客 评论于 [2022-11-26 16:16:57] 回复
替换即可:read ipsed -ri "/subnet/s/(subnet )[^ ]+( netmask.*)/\1$ip\2/" /mnt/file/subnet/ - 先正则匹配到含有subnet的行,然后替换。替换的时候将不变的部分用小括号括起来
访客 评论于 [2022-11-26 18:45:58] 回复
的时候将不变的部分用小括号括起来,后面依次用\1 , \2 原封不动地引用回来。-r 选项用于支持扩展正则,这样就不需要额外的转义符。[^ ] 表示不为空格的任意一个字符,+ 表示重复该字符至少1次。shell截取文本指定行指定位置的字符串linu
访客 评论于 [2022-11-26 23:41:49] 回复
起来,见上图例子就是把任意字符串中固定位置shell固定位置固定字符筛选的字符改为想要的字符
访客 评论于 [2022-11-26 21:59:07] 回复
8-15就是第8到15个字符shell中如何指定位置替换字符串如果位置固定shell固定位置固定字符筛选,比如从字符串第四个字符开始shell固定位置固定字符筛选,共3个字符,${变量:4:3}是取得子字符串${变量/旧字串/新字串}是替换两个结合起来