bash - 从列剪切到行尾

标签 bash unix

我在削减 egrep 的输出时遇到了一些问题。我有这样的输出:

From: First Last
From: First Last
From: First Last

我想删除“发件人:”(实质上是保留“首尾”)。

我试过了

cut -d ":" -f 7

但输出只是一堆空行。

如有任何帮助,我将不胜感激。

如果有帮助,这是我尝试使用的完整代码:

egrep '^From:' $file | cut -d ":" -f 7

注意:我已经测试了代码的 egrep 部分,它按预期工作。

最佳答案

问题中的 cut 命令行指定了以冒号分隔的字段,并且您希望输出仅包含字段 7;由于您的输入中没有第 7 个字段,因此您得到的结果不是您想要的。

由于“From:”前缀在所有行中看起来都相同,您可以简单地从第 7 个字符开始剪切:

egrep '^From:' $file | cut -c7-

并获得您想要的结果。

关于bash - 从列剪切到行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437199/

相关文章:

mysql - 使用 SQL 选择动态 Unix 纪元时间

linux - 为什么获取pthread_mutex_lock后sleep()会阻塞整个程序?

bash - 为什么 tee 无法写入标准输出?

shell - 从shell脚本中的每一行中删除字符

linux - 尝试将管道命令放入 if 语句

bash - 使用bash脚本提取某些类型名称和对应的数字

Unix 如何根据模式连接行

linux - 如何用 awk/sed 替换字符串的第二个实例

linux - 使用 copytruncate 时如何在 perl 中跟踪文件

bash 在文件的每一行中搜索字符串