如何使用sed将两个字符转换为一个

时间:2015-11-05 10:02:51

标签: linux unix sed

我只需要为一个(\t\n)更改两个字符(\t)。 以Tab结尾的所有行都将与下一行连接。

我使用了这个命令:

sed -i 's/\t\n/\t/g' file.txt

但它没有做任何事情。

1 个答案:

答案 0 :(得分:1)

这可能适合你(GNU sed):

SELECT DISTINCT s1.variation_id 
FROM shirts s1
JOIN shirts s2 ON s1.variation_id = s2.variation_id
WHERE (s1.attribute_id = 'size' AND s1.option_id IN ('s', 'm'))
  AND (s2.attribute_id = 'color' AND s2.option_id IN ('green', 'yellow'))

Sed是基于行的,并使用sed '1h;1!H;$!d;x;s/\t\n/\t/g' file 来界定它在模式空间中呈现的内容。上面的解决方案将整个文件收集到保留空间(备用寄存器)中,然后全局替换返回所需的结果。