regex - bash 脚本 - 使用 sed 或 awk 拆分和提取数据

标签 regex awk sed dns

我遇到了特定情况。如果我有一个包含以下条目的文件:

my.site.example.com
somelinewithnodot
some.line .with.a.weird.space..this.is
this.one.has , and.stuff*.all.I
&&&83%23^&4,I;dont,even.need.2see

使用 bash,我如何使用 awk 或 sed 之类的东西将每行的数据用“。”分割。然后只打印直接在last“.”之前和之后的条目,忽略没有“.”的行?

期望的输出:

example.com
somelinewithnodot
this.is
all.I
need.2see

我一直在尝试使用 sed,但在设置正则表达式时遇到了问题。我以前做过这样的事情,但已经过了一分钟,我无法记住如何正确设置它......

最佳答案

请您尝试关注一下。

awk -F'.' 'NF>1{print $(NF-1) FS $NF;next} 1'  Input_file
OR
awk 'BEGIN{FS=OFS="."}NF>1{print $(NF-1) FS $NF;next} 1' Input_file

awk -F'.' 'NF>1{$0=$(NF-1) FS $NF} 1'  Input_file
OR
awk 'BEGIN{FS=OFS="."}NF>1{print $(NF-1) FS $NF;next} 1' Input_file

关于regex - bash 脚本 - 使用 sed 或 awk 拆分和提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54428053/

相关文章:

linux - UNIX sed 命令不删除 cat 输出中的空格

regex - 如何根据行的特殊部分对文件的行进行排序

regex - sed -E 和 sed -e 有什么区别

linux - 找到匹配的文本并替换 yml 中的下一行

c# - 必须至少有一个字母的正则表达式

python - 从多行文件中获取特定文本

regex - Google Analytics - 根据查询参数对 URL 进行分组

awk:从列中找到最小的 10 个值

linux - 如何在第 n 行文件的中间插入文本

regex - 使用 Text.Regex.PCRE 解析网页标题缺少字符