当我知道文件格式时从文件中提取文本

当我知道文件格式时从文件中提取文本

我正在运行一个脚本,该脚本将输出一个名为 scServer.scs 的文件,该文件如下所示:

[电子邮件受保护]

2

解决方案1

流体流动(流畅)

解决方案

瞬态结构

7443_bber0501u29b.bb2.集群

[电子邮件受保护]

稍后在脚本中,我需要引用“49138”和“bber0501u29b.bb2.cluster”,但每次运行脚本时它们都会不同。因此,在我的脚本生成 scServer.scs 后,我需要提取这些文本并将它们写入变量吗?

答案1

如果您的数据始终位于第一行且格式为 user@domain,您可以执行以下操作:

提取第一行并使用shell参数扩展:

firstline=$(head -n1 file)
user=${firstline%@*}
domain=${firstline##*@}

答案2

使用 read 和 awk:

read -r user domain < <(awk -F\@ 'NR==1{print $1,$2}' scServer.scs)

将提取第一行scServer.scs并使用@字段分隔符分隔两个字段,将第一个字段分配给变量user,将第二个字段分配给domain变量

答案3

g=`awk -F "@" 'NR==1{print $1}' filename `
y=`awk -F "@" 'NR==1{print $NF}' filename `


praveen@praveen:/tmp$ echo $g
49138
praveen@praveen:/tmp$ echo $y
bber0501u29b.bb2.cluster

相关内容