假设我在一个名为letters.txt的文件中有以下文本:
ABCDEFGHIJKLMNOPQRST我想将position 2-3 (BC)复制到行尾,如下所示:
ABCDEFGHIJKLMNOPQRSTBC我已尝试将\n替换为位置2-3加\n,但它不起作用。示例:
sed -r "~ s/\n/\^(.{1})(.{2})\n/" letters.txt > letters_new.txt 我如何使用bash来做这件事?我已经搜索了答案,但没有找到任何答案。
发布于 2012-03-28 16:37:37
TEXT=ABCDEFGHIJKLMNOPQRSTBC
echo $TEXT${TEXT:1:2}Advanced Bash-Scripting Guide中描述了bash的秘方,这里是它的String section。
发布于 2012-03-28 18:35:37
这可能对你有用:
echo "ABCDEFGHIJKLMNOPQRST" | sed 's/.\{1\}\(.\{2\}\).*/&\1/'
ABCDEFGHIJKLMNOPQRSTBC或者更简单地说:
echo "ABCDEFGHIJKLMNOPQRST" | sed 's/.\(..\).*/&\1/'
ABCDEFGHIJKLMNOPQRSTBChttps://stackoverflow.com/questions/9903521
复制相似问题