SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

業務でラクするためのUNIXテクニック集

ファイル・ディレクトリ名の一括置換/一括作成
業務で楽するためのUNIXテクニック集

第2回


  • このエントリーをはてなブックマークに追加

 この連載では、UNIX系OSをコマンドライン上から効率よく利用するために知っておくべきテクニックや、便利な小技を紹介していきます。今回は、第0回、第1回で紹介したfind/xargsコマンド、シェルの変数展開、制御構造を利用した「ファイル・ディレクトリ名の一括置換」に関するテクニックを紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 この連載では、UNIX系OSをコマンドライン上から効率よく利用するために知っておくべきテクニックや、便利な小技を紹介していきます。

 今回は、第0回、第1回で紹介したfind/xargsコマンド、シェルの変数展開、制御構造を利用した「ファイル・ディレクトリ名の一括置換」に関するテクニックを紹介します。

 また、「ファイルやディレクトリの一括作成方法」「シンボリックリンクの作成方法」に関するテクニックも紹介します。「ファイル名の置換」テクニックを検証する際の、コマンド確認環境構築にご利用ください。

今までの記事

対象読者

  • UNIX系OSコマンドを一通り利用したことがある方
  • 正規表現を利用したことがある方
  • 何らかのプログラミング経験がある方

動作確認環境

  • Linux(Debian etch/Fedora 9)
  • FreeBSD 6.1
  • Cygwin 1.5.X

 なるべくUNIX系OS一般に当てはまるよう解説するので、特に記述がない場合は、Mac OS X、Red Hat Linux上でも動作します(Solaris では動作しません)。シェルに関しては、bash(Bourne-Again Shell 2および3)を想定しています。

空のファイルを作成する

 サイズの大きくなったログファイルを空にしたい場合など、空(サイズが0)のファイルを作りたいことがあると思います。

 空ファイルを作成するには、次の3つの代表的な指定方法があります。

既存ファイルを空にする方法(1)
$ :> test1.txt 
既存ファイルを空にする方法(2)
$ echo -n > test2.txt  
既存ファイルを空にする方法(3)
$ cp /dev/null test3.txt 

 (1)では、組み込みコマンドの「:」(何もせず終了コード0を返す)とリダイレクトを組み合わせています。

 (2)のように、echoコマンドとリダイレクトを組み合わせる方法でも作成できます。この際「-n」オプションを付けないと、改行コードが含まれた1byteのファイルが作成されてしまいます。

 (3)の「/dev/null」はヌルデバイスと呼ばれ、読み込んだ場合には常に空ファイルとなります。

 また、適当な名前の空のファイルを作成したい場合は、mktempコマンドを使用できます。

$ mktemp hoge.XXXXXX
hoge.jv2984

 ファイル名に「XXXXXX」のように大文字の「X」を6つ連続して指定すると、「X」の箇所に任意の文字列が挿入されたファイル名になります。なお「-d」オプションを付けると、ディレクトリが作成できます。

※注1

空のファイルを作る場合には、よくtouchコマンドが使われます。

$ touch test.txt

しかし、touchコマンドは指定した名前のファイル(上の場合だと「test.txt」)が既に存在する場合、ファイル内容は変更されず更新日付だけが新しくなります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ファイル・ディレクトリの一括作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
業務でラクするためのUNIXテクニック集連載記事一覧

もっと読む

この記事の著者

保田和隆(ヤスダカズタカ)

Yasuda Kazutakaネットワーク関連の組み込みソフトウェア開発者。http://uguisu.skr.jp/Windows/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2954 2009/06/04 09:52

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング