shellscriptのコマンドの意味

OKWave 2007年08月07日 13時00分

  • このエントリーをはてなブックマークに追加
shellscriptのコマンドの意味

コマンドの意味を教えてください。
人の作ったshellscriptが動かなくて、デバッグを余儀なくされました。 しかし、UNIXがわかっていないものですから、宜しくお願い致します。

(1)
line=`head -$i $filename | tail -1`

(2)
echo $line >> temp98; sed -e 's#.1..#ABC#g' temp98 >> temp99
$lineには、数字が入っています。例えば、7102

宜しくお願いいたいます

良回答

バッククォートで囲んだ箇所 `....` は、中に入っているコマンドを実行して、その結果をコマンドラインや変数に入れるものです。

files=`ls -1` (※ 数字の1です)
とすると、"ls -1" を実行した結果が、変数 files に入ります。

(1)
line=`head -$i $filename | tail -1`

head -N $filename → $filename の先頭 N 行を表示
tail -1 → 末尾1行を表示

すなわち、$filename の N 行目だけを表示して、変数 line に入れたいのでしょう。

(2)
echo $line >> temp98;
sed -e 's#.1..#ABC#g' temp98 >> temp99

読む限りですと、$lineの2桁目が数字の1であれば、temp99というファイルに ABC という内容が追記されるとおもいます。

ただこの操作で実際に何をしたいのかは具体的にわかりません。

  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?