Unix全般 -> sed



ファイルの先頭に行を挿入する

編集前ファイル (user.txt)
--------------------
user02
user03
--------------------

先頭行への挿入コマンド。標準出力へ。
--------------------
#!/bin/sh
sed '1i\
user01' user.txt
--------------------
user01
user02
user03


先頭行への挿入コマンド。ファイルへ書込み。
--------------------
#!/bin/sh
sed '1i\
user01' user.txt > user.txt.tmp
mv user.txt.tmp user.txt
--------------------
$ cat user.txt
user01
user02
user03


先頭行への挿入コマンド。tmpファイルを使用せずファイルへ書込みする。
--------------------
#!/bin/sh
sed '1i\
user01' user.txt > user.txt
--------------------
$ cat user.txt
$
この場合ファイル user.txt が空になるので間違い


先頭行への挿入コマンド。catで最初にファイルを読み込んでおく方法。
--------------------
#!/bin/sh
cat user.txt | sed '1i\
user01' > user.txt
--------------------
$ cat user.txt
user01
user02
user03


代入文字に変数を使用する場合
シングルクォーテーション(')で囲むと変数が展開されないので
ダブルクォーテーション(")で囲む。
さらに \ を \\ に変更する。
--------------------
#!/bin/sh
USER="user01"
cat user.txt | sed "1i\\
${USER}" > user.txt
--------------------
$ cat user.txt
user01
user02
user03

2行以上追加する場合
--------------------
#!/bin/sh
USER1="user00"
USER2="user01"
cat user.txt | sed "1i\\
${USER1}\\
${USER2}" > user.txt
--------------------
$ cat user.txt
user00
user01
user02
user03

最後の行に \\ をいれると処理されない
${USER2}\\" > user.txt  ×



      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google