从文本文件中的特定行号开始写入

从文本文件中的特定行号开始写入

在 bash 脚本中,我想将一些行写入文本文件,但该文件之前已经使用过并且其中有文本。所以我想从文件中的某个行号开始回显其中的一些附加文本。

我想要这样的东西:

echo -fromLineNumber 33 -e "anything" >> textPath

答案1

您可以使用sed在特定行写入。

尝试这个:

    sed -i '33ianything' textpath

或者

    sed -i '33i\anything' textpath

它将在第 33 行插入“anything”。

答案2

要保留前 32 行并在后面添加新文本:

head -n 32 oldfile > newfile
echo anything >> newfile
echo goes >> newfile
echo here >> newfile

要在文件的第 32 行之后插入一些文本:

sed -e '32s/$/\nanything\ngoes\nhere/' oldfile > newfile

相关内容