行のデータに基づいてテキスト文書の内容を分割するbashスクリプトを作成しています。
元のファイルの内容が次のような場合
01 line
01 line
02 line
02 line
bashを使用してこのファイルの3行目を挿入して生成するにはどうすればよいですか?
01 line
01 line
text to insert
02 line
02 line
私はheredocなどを使って私のスクリプトでこれを行いたいと思います。
#!/bin/bash
vim -e -s ./file.txt <<- HEREDOC
:3 | startinsert | "text to insert\n"
:update
:quit
HEREDOC
上記の方法は間違いなく動作しません。しかし、このbashスクリプトに実装できる提案はありますか?
ベストアンサー1
ex
行番号を使用してPOSIXツールを使用できます。
ex a.txt <<eof
3 insert
Sunday
.
xit
eof
または文字列の一致:
ex a.txt <<eof
/Monday/ insert
Sunday
.
xit
eof
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html