77

私はシェルスクリプトの初心者でありsed、テキストファイルの最初の行を文字列に置き換えるための使用方法やその他のツールについて混乱しています。テキストファイルの内容は次のとおりです。

/home/snehil/Desktop/j1/movie.MOV
「他のテキスト行をスポームする」

movie.MOV最初の行(映画ファイルのパス)をちょうど(シェルスクリプトの変数である可能性があります)に置き換えたい

これを行う方法を教えてください。いくつかの投稿に出くわしsedましたが、ここで使用する必要がありsedますか?

4

2 に答える 2

158

sed は適切なツールです。次のことを試してください。

var="movie.MOV"
sed -i "1s/.*/$var/" file.txt

説明

  • 1最初の行を意味する
  • 残りは置換s///です: すべて (.*) を$var変数で置換します
于 2012-11-18T06:51:58.370 に答える
2

これは tail で簡単に行うことができます:

#I want to replace the first line
cp test.txt test.txt.backup
echo 'mynewfirstline'> test.txt
#add everything from old file starting from second line
cat test.txt.backup |tail -n+2>> test.txt
于 2021-11-24T15:34:20.050 に答える