使用sed命令修改特定行

时间:2016-01-28 17:55:25

标签: bash shell sed

我的文字文件包含:

/**
 *
**/

我想用text.txt替换第二行,使其看起来像:

/**
 * text.txt
**/

我尝试了以下sed命令,但它将文本文件呈现为空。

sed -n 2p -i -e "/^ \*/ s/ \*/ \* text.txt/" example.txt

请让我知道我需要做些什么才能获得理想的结果。

3 个答案:

答案 0 :(得分:0)

sed -i -e "2s/$/ test.txt/" example.txt

如果你想在第2行进行替换,特别是。

答案 1 :(得分:0)

将其添加到/**

之后的行
sed '/^\/\*\*/ {n; s/$/ text.txt/;}' example.txt

答案 2 :(得分:0)

要替换第二行(与其内容无关),请使用

 sed -i -e '2c\ * test.txt' example.txt

2处理第二行,c\将其替换为参数的其余部分 (\是必需的,否则空格被省略。)