Linux 在一段时间之前对特定内容进行grep

Linux 在一段时间之前对特定内容进行grep,linux,awk,Linux,Awk,我试图阅读/grep句点()之前的特定单词或内容 e、 g.file1具有abinaya.ashok,我想在不硬编码任何内容的情况下对句点()之前的内容进行grep 如果我尝试 grep \.\ file1 它给出了abinaya.ashok。 我试过:grep\*\.\file1 它没有给出任何东西。我们可以使用grep命令找到它,还是应该只使用awk命令?有什么想法吗?希望我能正确地理解你: sed -n 's/\..*//p' file1 | grep whatever sed表达

我试图阅读/grep句点(
)之前的特定单词或内容

e、 g.
file1
具有
abinaya.ashok
,我想在不硬编码任何内容的情况下对句点(
)之前的内容进行grep

如果我尝试

grep \.\ file1  
它给出了
abinaya.ashok
。 我试过:
grep\*\.\file1


它没有给出任何东西。我们可以使用grep命令找到它,还是应该只使用awk命令?有什么想法吗?

希望我能正确地理解你:

sed -n 's/\..*//p' file1 | grep whatever
sed表达式只打印点之前的部分(不打印没有点的行)。
现在使用grep搜索您需要的内容。

使用GNU
grep
对于
PCRE
regex(对于非贪婪和积极的前瞻),您可以执行以下操作:

echo 'abinaya.ashok' | grep -oP '.*?(?=\.)'
abinaya
使用
awk

echo 'abinaya.ashok' | awk -F\. '{print $1}'
abinaya

检查以下简单示例

包括交通部:

$ echo abinaya.ashok | grep -o '.*[.]'
abinaya.
没有圆点:

$ echo abinaya.ashok | grep -o '^[^.]\+'
abinaya

不确定OP是否会有一行像freddy frog abinaya.ashok这样的代码,只想看看abinaya!说得好。如果他想说得更具体一些,我会更新的。谢谢你的评论和回答:)我想在()如果没有硬编码,例如abinaya.ashok.Basially,我想用id终止屏幕,这样dot之前的内容将是一个自动生成的数字。使用脚本,我想终止屏幕。@javalearner我在答案中没有硬编码任何内容。那个
echo
语句只是为了表明它是有效的。选择你想要的总是微不足道的,而不选择你不想要的则更难。发布几行示例输入和预期输出,包括您认为最难处理的案例。谢谢您的回答。