私はLinuxが初めてです。開いているターミナルからのみ.conf
ファイルを編集する必要があり、テキストエディターは使用しません。つまり、開いている端末から設定ファイルに単語や文章を追加できますか?
例:command /home/.../file.conf -add 'abcd'
23行目など。そして最後に、それを保存します。
コマンドのみを使用して、その構成ファイル内の特定のWordを検索し、その構成ファイルの次の行に新しいテキストを追加することは可能ですか?
私は通常、あなたが求めているのと同じことをするようにスクリプトをプログラミングしているときに、プログラムでこの方法で行います。
echo "Hello you!" >> myfile.txt
echo "this is 2nd line text" >> file.txt
echo "last line!" >> file.txt
出来上がり!わかった。重要なのは、>>
は既存のファイルに新しい行を追加することを意味しますが、>
は単にすべてを上書きするだけです。
開いているターミナルから設定ファイルに単語や文を追加するには、sedを使用します。
sed -i '23iabcd' file.conf
23行目にテキストabcd
をファイルfile.conf
に挿入します
-i
は、ファイルfile.conf
を直接変更します。
awk
を使用する場合:
awk -v n=23 -v s="abcd" 'NR == n {print s} {print}' file > file.conf
以下はSearchPatternの後に1行追加します。
sed -i '/SearchPattern/aNew Text' SomeFile.txt
SearchPatternを含む各行の下に1行新しいテキストを挿入します。
2行を追加するには、\
を使用して、新しいテキストを入力しながら改行を入力します。
sed -i '/pattern/a \
line1 \
line2' inputfile
printf
コマンドも使用できます。
ファイルに行を追加するには
$ printf "\nThis is a new line to your document" >> file.txt
ファイルを上書きするには
$ printf "This overwrites your file" > file.txt
awk '{if ($1 ~ /regex/) print $1 "content to be added"; else print $1}' < inputfile > outputfile
ノート:
使い方:
inputfile
を開き、出力行を書き込むためにoutputfile
をクリアして開きますed
コマンドを使用して、自分の質問に対する解決策を見つけました
ed -s /home/.../abc.conf <<< $'23i\ntext\n.\nwq'
テキストには27行を含めることができます。テキストファイルから27行をコピーして、構成ファイルに27行を貼り付けることができます。ただし、同じ構成ファイルにさらにテキストを追加するには、ed
コマンドを同時に実行する必要があります。