在文本文件中的每个第一个单词后删除字符串

时间:2009-10-20 11:10:59

标签: unix sed awk cat

File1中:

hello   (OPTION1)   123456   123456   123456
world   (OPTION1)   123456   123456   123456
foo     (OPTION1)   123456   123456   123456
bar     (OPTION1)   123456   123456   123456

如何在文本文件File1中的每个第一个单词后删除每个字符串?

这可能会因awk / sed / cat而下降 - 但我无法弄明白。我还是通过这些实用程序进行编辑的新手 - 也许其他人将从我的问题中受益。

第一个单词不具有预测性(没有外卡),每个第一个单词都是唯一的。

6 个答案:

答案 0 :(得分:7)

awk one liner:

awk '{ print $1 }' < inputfile > outputfile

sed one liner:

sed 's/^\([A-Za-z0-9]*\).*/\1/' < inputfile > outpufile

答案 1 :(得分:3)

awk '{print $1}' filename > filename2

答案 2 :(得分:2)

您可以从第一个空格开始修剪所有内容:

sed '\s.*$//' <File1

答案 3 :(得分:2)

为什么即使在使用剪切命令

之后也要使用这些工具
cut -f1 -d"\t" filename

答案 4 :(得分:0)

或者只是为了好玩,你可以用perl

来做

perl -ne'@ a = split;打印“$ a [0] \ n”'&lt;文件

答案 5 :(得分:0)

删除分隔符后的所有内容:

cut -f1 -d"\t" inputfile > outputfile

\t 可以根据您的具体情况替换为任何其他分隔符(例如 ;)。