8. 数字标志(1,2,3..标志)
使用数字标志指定original-string
的特定出现位置。 只有original-string
出现的第 n
个实例才会触发替换。
每行重新开始计数,n 可以是 1 到 512 之间的任意值。
例如,/11
将仅替换 一行中 第 11 次出现的original-string
。
替换示例
以下是几个简单的替换示例。
Example1:将第二次出现的小写 "a"
替换为大写 "A"
$ sed 's/a/A/2' employee.txt 101,John Doe,CEO 102,Jason Smith,IT MAnager 103,Raj Reddy,SysAdmin 104,Anand RAm,Developer 105,Jane Miller,SAles Manager
Example2:仅将第二次出现的 "locate"
更改为 "find"
对于本示例,创建以下文件:
$ vi substitute-locate.txt
locate command is used to locate files
locate command uses database to locate files
locate command can also use regex for searching
在您刚刚创建的文件中,仅将第二次出现的 "locate"
更改为 "find"
$ sed 's/locate/find/2' substitute-locate.txt
locate command is used to find files
locate command uses database to find files
locate command can also use regex for searching
replacement-locate.txt
文件中只有一个 "locate"
。 因此第 3 行没有任何更改。