私はLinuxが初めてです。.conf
開いているターミナルからのみファイルを編集する必要があり、テキストエディターは使用しません。つまり、開いている端末から設定ファイルに単語や文章を追加できますか?
例:command /home/.../file.conf -add 'abcd'
23行目など。そして最後に、それを保存します。
コマンドのみを使用して、その構成ファイル内の特定の単語を検索し、その構成ファイルの次の行に新しいテキストを追加することは可能ですか?
私はLinuxが初めてです。.conf
開いているターミナルからのみファイルを編集する必要があり、テキストエディターは使用しません。つまり、開いている端末から設定ファイルに単語や文章を追加できますか?
例:command /home/.../file.conf -add 'abcd'
23行目など。そして最後に、それを保存します。
コマンドのみを使用して、その構成ファイル内の特定の単語を検索し、その構成ファイルの次の行に新しいテキストを追加することは可能ですか?
回答:
私は通常、スクリプトをプログラミングしているときに、あなたが求めているのと同じことをプログラムで行うときにこの方法で行います。
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に直接変更を行います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行を追加するには、a \
を使用し、新しいテキストの入力中に改行を入力します。
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
、同じ構成ファイルにさらにテキストを追加するには、コマンドを同時に実行する必要があります。
sed
助けに来ることができるように見えます。