1

这是一个包含许多单词的文本文件,每个单词由空格或换行符分隔。现在我想在它们每个前面添加一个字符,例如“#”“$”“@”,我发现一个一个地完成这项工作会花费太多时间,在bash中有没有更好的方法?

4

2 回答 2

10

Try using sed

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

Or more concisely,

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

Sample input

abc def pqr-stu xyz

Output

@abc @def @pqr-stu @xyz
于 2013-10-28T12:56:05.403 回答
2

使用sed,您可以说:

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

这将附加#在每个单词之前。

于 2013-10-28T12:54:34.873 回答