Regex 在AWK或SED中找到带有正则表达式的字符串
例如,我想在文件中查找以下字符串9Stest1.test2D9。然后我想剪切前两个字符和最后两个字符,最后在前后打印文本。在两条分开的线上 示例文本:Regex 在AWK或SED中找到带有正则表达式的字符串,regex,sed,awk,Regex,Sed,Awk,例如,我想在文件中查找以下字符串9Stest1.test2D9。然后我想剪切前两个字符和最后两个字符,最后在前后打印文本。在两条分开的线上 示例文本: 7U8vTest(#G-HLjYM6QqJj1j"7MFx$^Qd .f@alU|A#Z<inCWV6a=L?o`A5vIod"%Mm+YW1RM@,L;aN r^n<&)}[??!VcVIV**9Stest1.test2D9**94EN~yK,$lU=9?UT.[ e`)G:FS.nGz%?@~k!20aLJ^PU-[@}0
7U8vTest(#G-HLjYM6QqJj1j"7MFx$^Qd
.f@alU|A#Z<inCWV6a=L?o`A5vIod"%Mm+YW1RM@,L;aN
r^n<&)}[??!VcVIV**9Stest1.test2D9**94EN~yK,$lU=9?UT.[
e`)G:FS.nGz%?@~k!20aLJ^PU-[@}0W\ !8x
cujOmEK"1;!cI134lu%0-A +/t!VIf?8uT`!
aC1QAQY>4RE$46iVjAE^eo5yR|
1?/T?<H5,%G~[|9I/c&8MY$O]%,UYQe{!{Bm[rRC[
aHC`<m?BUau@N_O>Yct.MXo[>r5^uV&26@MkYB'Kiu\Y
K(*}ldO:ZQnI8t989fi+
我用下面的代码grep“[0-9][a-zA-Z]\+\.[a-zA-Z]\+[0-9]”
找到字符串。现在我可以用cut命令
剪切前两行,但最后两行呢?
我想用AWK
可以很容易地解决我的问题,但我不知道如何解决。
谢谢如果有帮助,请查看此行:
kent$ grep -Po '(?<=9S).*?(?=D9)' file
test1.test2
kent$grep-Po'(?如果有帮助,请参阅此行:
kent$ grep -Po '(?<=9S).*?(?=D9)' file
test1.test2
kent$grep-Po'(?这取决于搜索方式和内容。如**
awk -F"**" '{a=substr($2,3,length($2)-4)} a {print a}'
test1.test2
dO:ZQnI8t989f
这取决于搜索方式和内容。如**
awk -F"**" '{a=substr($2,3,length($2)-4)} a {print a}'
test1.test2
dO:ZQnI8t989f
您希望如何搜索您的字符串,直接搜索它或在***
等之间的任何文本???您希望如何搜索字符串,直接搜索它或在***
等之间的任何文本???可能将输出传输到tr.'\n'
以获得所需格式的结果?@devnull-thx,更新了答案,是吗没有看到OP添加了有问题的输出部分。可能将输出管道连接到tr.''\n'
以获得所需格式的结果?@devnull thx更新了答案,没有看到OP添加了有问题的输出部分。
awk -F"**" '{a=substr($2,3,length($2)-4)} a {print a}'
test1.test2
dO:ZQnI8t989f