从著名的“sed one liners”中找到以下 sed 脚本来反转每一行中的字符,但我无法在脚本的//D中执行以下命令
sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
假设初始文件有两行开头说,
apple
banana
在第一个命令之后,
/\n/!G
模式空间将是,
apple
banana
[每行之后引入一个新行。代码标记在此处删除最后一个新行。所以没有显示]。在第二个命令之后,
s/\(.\)\(.*\n\)/&\2\1/
模式空间将是,
apple
pple
a
banana
anana
b
在此之后第三个命令如何工作?另外,我了解空正则表达式(//)与先前匹配的正则表达式匹配。但在这种情况下,那会是什么?\n 来自第一个命令还是被第二个命令替换的正则表达式?任何帮助将非常感激。谢谢。