我正在努力尝试在某些单词上复制字符,但我写的sed脚本并不是我想做的。例如,我试图复制像这样的单词中的每个字符:
FILE到FFIILLEE
我知道如何删除重复的字母:
sed s / \(。\)\ 1 / \ 1 / g'file.txt
这是我写的sed脚本,但它最终会复制整个单词而我得到:
文件文件
这就是我写的:
sed's / [A-Z] * /& & / g'file.txt
我如何抓住每个字母并复制该字母?
答案 0 :(得分:1)
您的第一个脚本应略有不同:
sed 's/\(.\)/\1\1/g' file.txt
翻译:对于看到的每一个角色,单独替换它本身。
答案 1 :(得分:0)
sed 's/[[:alpha:]]/&&/g' file.txt
[:alpha:]
类是可用字母的整个范围,您可以使用[:alnum:]
扩展,包括数字&
是整个搜索模式匹配。在这种情况下1个字母g
您的问题是在搜索模式中使用*
表示所有模式的出现,因此模式一次是整个单词而不是单词的每个字母