从unix中的文件中删除行号(不是整行)

时间:2013-03-22 12:33:53

标签: bash unix numbers line

如果通过' nl'

添加了行号,如何从文件中删除行号?

示例:

文件1:

   word1 word2
   word3
   word4

命令后:nl file1 > file2 这是使用的确切命令。

file2的:

1 word1 word2
2 word3
3 word4

这是围绕它的部分。 从file2中删除行号并将行存储在file3中(或者如果可能,删除文件2中的数字,同时保留文件2中的行)。

file3的:

   word1 word2
   word3
   word4

6 个答案:

答案 0 :(得分:5)

sed 's/ *[0-9]*.//' file2 > file3

答案 1 :(得分:3)

是的。正如在这里回答: 你可以使用awk:

cat file | awk '{print $2}' > newfile

你可以使用cut:

cat file | cut -f2 > newfile

答案 2 :(得分:2)

剪切实用程序将起作用。在这种情况下,该行中只有一个单词,因此您只能使用cut -f2,但如果您有更多列,cut -f2-将保留除第一个之外的所有列。

答案 3 :(得分:1)

这样的事情应该解决它:

cut -d\  -f2- < file1

答案 4 :(得分:1)

这将只删除file2中每个字符串的第一个单词/数字,并将其余部分放在file3中:

awk '{$1 = ""; print $0;}' file2 > file3

file3的:

 word1 word2
 word3
 word4

答案 5 :(得分:0)

假设你不能只是cp file1 file3 ....

ni file1 > file2
sed 's/[0-9]*[ ]*\(.*\)$/\1/' file1 > file3