如何在linux中的多个单词前面添加一个字符

时间:2013-10-28 12:51:18

标签: linux bash

这是一个包含许多单词的文本文件,每个单词由空格分隔符或换行符分隔。 现在我想在每个人面前添加一个字符,比如“#”“$”“@”, 我发现一个接一个地做这个工作需要花费太多时间, 什么是更好的方式,在bash?

2 个答案:

答案 0 :(得分:9)

尝试使用sed

sed -r 's/([^ ]+)/@\1/g' file

或者更简洁,

sed -r 's/[^ ]+/@&/g' file

示例输入

abc def pqr-stu xyz

输出

@abc @def @pqr-stu @xyz

答案 1 :(得分:2)

使用sed,您可以说:

sed 's/\b\w/#&/g' inputfile

这会在每个单词之前附加#