Sed 仅当是给定符号时,才替换第n个字符
我是sed新手,我正在尝试替换一行的第n个字符,只要是一个符号“-” 例如,仅当“X”为“-”时,才替换“X”的第四个位置: 要获得:Sed 仅当是给定符号时,才替换第n个字符,sed,Sed,我是sed新手,我正在尝试替换一行的第n个字符,只要是一个符号“-” 例如,仅当“X”为“-”时,才替换“X”的第四个位置: 要获得: aaabbbccc aaaXbbddd aaaXcccbb 我发现可以用以下命令替换第n个位置: sed的/^(.{3})。(.*)/\1X\2/,但我无法合并给定的条件(仅当是给定的符号时) 提前谢谢 echo "aaabbbccc aaa-bbddd aaa-cccbb"|sed -r 's/^(.{3})-(.*)$/\1X\2/' 输出: aa
aaabbbccc
aaaXbbddd
aaaXcccbb
我发现可以用以下命令替换第n个位置:
sed的/^(.{3})。(.*)/\1X\2/,但我无法合并给定的条件(仅当是给定的符号时)
提前谢谢
echo "aaabbbccc
aaa-bbddd
aaa-cccbb"|sed -r 's/^(.{3})-(.*)$/\1X\2/'
输出:
aaabbbccc
aaaXbbddd
aaaXcccbb
输出:
aaabbbccc
aaaXbbddd
aaaXcccbb
这可能适合您:
sed 's/^\(.\{3\}\)-/\1X/' file
或
这可能适合您:
sed 's/^\(.\{3\}\)-/\1X/' file
或