使用sed将行号插入到文件中
我正在学习如何使用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-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/ /'