使用sed将行号插入到文件中

使用sed将行号插入到文件中,sed,Sed,我正在学习如何使用sed,并看到我可以使用=插入行号。但是,这包括一个新行: 文件: 正在运行sed-n'=;p'文件: 1 alpha 2 beta 3 gamma 在对sed的一次呼叫中,是否可以将这些行号插入同一行?因此: 我知道用其他工具也可以做到这一点,但我想知道sed的具体功能。是否有一种方法可以在=之后附加另一个正则表达式替换以删除换行符?这对您很有用 sed '=' file | sed 'N; s/\n/ /' 为什么sedawk-v ln=1'{print ln++“$0

我正在学习如何使用sed,并看到我可以使用
=
插入行号。但是,这包括一个新行:

文件:

正在运行
sed-n'=;p'文件

1
alpha
2
beta
3
gamma
在对sed的一次呼叫中,是否可以将这些行号插入同一行?因此:


我知道用其他工具也可以做到这一点,但我想知道sed的具体功能。是否有一种方法可以在
=
之后附加另一个正则表达式替换以删除换行符?

这对您很有用

sed '=' file | sed 'N; s/\n/ /'

为什么
sed
awk-v ln=1'{print ln++“$0}”文件
。然而,我愿意相信awk更好…请参见
=
命令实际打印行号,它不会将行号插入图案空间
sed=file |粘贴---
是一种编写
nl文件的愚蠢方式
不确定
sed
是否有
awk
那么简单。我的回答中似乎有两个sed调用。:)你能解释一下,这是干什么的吗?@yujiao只需在每行的开头打印一个行号即可。:)精彩的!如果有必要,你知道如何用前导0填充数字吗?@Xerus我恐怕不能用sed来填充数字。但是解决方法可以是
awk'{printf(“%0.2d%s\n”,NR,$0)}您的文件名
1 alpha
2 beta
3 gamma
sed '=' file | sed 'N; s/\n/ /'