我有一个像这样的文件:
AAAA
BBBB
CCCC
DDDD
etc
单词在单独的行中。我想使用添加引号tr
。
所以我尝试了以下方法:
1)在每个单词的开头添加引号,即 'AAAA
tr '^\w$' '\'\w$' <file.txt
不起作用 tr '^\w$' ''\w$' <file.txt
不起作用 上面两个都使命令行卡住了。
2)我想在结尾添加引号:
tr '\n' ''\n' <file.txt
但这不起作用,并且命令行卡住了。
这些正则表达式为什么不起作用tr
?
您不能用替换类似的多个内容tr
。我会用sed
它代替。
$ sed "s/^/'/" file.txt
'AAAA
'BBBB
'CCCC
'DDDD
表示找到每行的开头(^
),并用单引号('
)替换。
如果要将“单词”用单引号引起来,则可以使用以下形式的命令:
$ sed "s/\(.*\)/'\1'/" file.txt
'AAAA'
'BBBB'
'CCCC'
'DDDD'
这次,我们将行中的所有内容保存在一个临时变量(\1
)中。然后,我们用this替换该行'\1'
。
可以将此命令缩写为此命令,请使用特定于GNU的开关:
$ sed -r "s/^(.*)$/'&'/" file.txt
'AAAA'
'BBBB'
'CCCC'
'DDDD'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句