Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是一个包含许多单词的文本文件,每个单词由空格或换行符分隔。现在我想在它们每个前面添加一个字符,例如“#”“$”“@”,我发现一个一个地完成这项工作会花费太多时间,在bash中有没有更好的方法?
Try using sed
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
使用sed,您可以说:
sed 's/\b\w/#&/g' inputfile
这将附加#在每个单词之前。
#