Bash-如何在Bash脚本中特定行号之后在rst文件中输入行

Bash-如何在Bash脚本中特定行号之后在rst文件中输入行,bash,sed,Bash,Sed,我想我的简单脚本有问题 情况: 我的repo中有rst文件,我只需要从repo中找到.rst文件,将它们的名称插入到特定第11行的其他rst文件中。我需要输入的这些行必须剪切-不带.rst,在我的情况下也不带/在文件名之前 例如: main.rst包含很少的行 第1行 ... 第3行 空的 空的 这里应该是插入第一个文件 这里应该插入第二个文件 空的 第14行 ./first_file.rst必须插入main.rst的特定行中,不带.rst和。/part。 我还需要在repo中只查找.rst文件

我想我的简单脚本有问题

情况: 我的repo中有rst文件,我只需要从repo中找到.rst文件,将它们的名称插入到特定第11行的其他rst文件中。我需要输入的这些行必须剪切-不带.rst,在我的情况下也不带/在文件名之前

例如: main.rst包含很少的行 第1行 ... 第3行 空的 空的 这里应该是插入第一个文件 这里应该插入第二个文件 空的 第14行

./first_file.rst必须插入main.rst的特定行中,不带.rst和。/part。 我还需要在repo中只查找.rst文件。
找到零件很容易,我想就是找到了-名称'*.rst'。在那之后,我认为我应该使用sed,但我不知道如何正确地使用它,我想在这一行中找到它。如果您想插入find的输出,我将非常感谢您的建议。

-名称'*.rst',在某些文件的第11行中删除.rst后缀,您可以:

# generate the list with .rst files
# I use `printf "%f\n"` to print only the filename, ie. remove the  `./` part
# sed is used to remove the .rst
find . -name '*.rst' -printf "%f\n" | sed 's/.rst$//' > sometempfile.txt
# Insert the content of sometempfile.txt into 11nth line in the main.rst file
sed -i -e '11r sometempfile.txt' main.rst
# pick up the trash
rm sometempfile.txt

谢谢这是我想要的。你太棒了: