Regex 是剪还是剪?如何仅从文件中获取列标题?
首先,提前感谢大家的帮助!我在学校一直在学习Unix,直到最近的一次家庭作业,我一直都做得很好 我正试图找出在我的家庭作业中处理这一部分的最佳方式 我有一个头文件,我必须分为两个单独的文件。本部分作业分为两部分: 首先,文件的前两行放入一个文件中。我这样做是因为:Regex 是剪还是剪?如何仅从文件中获取列标题?,regex,shell,unix,sed,ksh,Regex,Shell,Unix,Sed,Ksh,首先,提前感谢大家的帮助!我在学校一直在学习Unix,直到最近的一次家庭作业,我一直都做得很好 我正试图找出在我的家庭作业中处理这一部分的最佳方式 我有一个头文件,我必须分为两个单独的文件。本部分作业分为两部分: 首先,文件的前两行放入一个文件中。我这样做是因为: head -2 headers > file1 然而,下一个请求是获取两个列标题(--Regular--and--timeout--)并将它们放入另一个文件中…这正是我遇到的问题 头文件如下所示: Merry Land Tra
head -2 headers > file1
然而,下一个请求是获取两个列标题(--Regular--and--timeout--)并将它们放入另一个文件中…这正是我遇到的问题
头文件如下所示:
Merry Land Training Academy
Pay Report
Week of June 12, 1999
--Regular--- --Overtime-- Gross Net
Employee Hours Rate Hours Rate Pay Pay
我知道grep只能匹配包含模式的行,但是如何删除最后两行之后的字符呢
例如,我的grep将返回以下内容:
egrep 'Regular' headers
--Regular--- --Overtime-- Gross Net
我知道在执行grep删除单词后,我可以手动执行sed替换“Gross”和“Net”,但是我知道这是低效的
这个命令将是一个脚本的一部分,该脚本将包含许多其他进程(到目前为止我已经能够做到)
在我的在线研究中,我知道很多人建议使用awk,但是我们还没有在课程中了解到这一点
再次,提前谢谢你。我真的很期待从每个人的经验中学习。为什么你认为使用
sed
效率低下?当然,将grep
配管到sed
将是一个错误,但是sed
相当不错。您还没有很好地定义问题,但是假设您可以通过字符串--
的存在来区分标题,您可以简单地执行以下操作:
sed -n -e '/--/s/[^-]*$//p' input > output
这将获取包含-
的所有行,并输出所有内容,直到最后的-
。如果只想打印第一行,请执行以下操作:
sed -n -e '/--/{s/[^-]*$//p;q;}' input > output
你能举一个你的输入文件的例子吗?如果总是在同一个位置,剪切怎么样<代码>切割-c1-47