如何在 shell bash 中提取文本文件中的模式



我有一个包含以下内容的文本文件:

toto.titi.any=val1
toto.tata.any=val2
toto.tete.any=val2

如何从此文件中提取tititatatete

应该是这样的事情

$ cat myfile.txt | sed '......' 

并且输出应该是

titi
tata
tete

你真的需要sed吗? 您可以使用cut

cut -d. -f2 filename

使用 awk,您可以执行以下操作:

awk -F. '{print $2}' file

awk/cut 将是这个问题的更好选择。

以下是 SED 行和 grep 选项:

sed -r 's/.*.([^.]*)..*/1/'
grep -Po '.K[^.]*(?=.)' 

awkcut最适合此

您还可以逐行读取文件,并打印出所需的部分。

$ IFS=.
$ while read first interested others ; do echo $interested; done < file
titi
tata
tete
sed -n 's/^[^.]*.([^.]*)..*/1/p' myfile.txt

显示内部至少有 2 个点的行之间的第二个值

相关内容

  • 没有找到相关文章

最新更新