日本語ファイル名のファイルを探し出せ
30分プログラム、その530。日本語ファイル名のファイルを探し出すプログラム。
日本語ファイル名を持つファイルって、コマンドラインから操作するとき、とってもうざいですよね。ホントやめて欲しいものです。
とはいえ、ボクもうっかり日本語ファイル名のファイルを何個か作ってしまっています。なので、こいつらを全部探し出してしまいましょう。
使い方
asciiだけなら終了コード0で終了するコマンドを書いた。
$ ascii-only hoge; echo $? 0 $ ascii-only ほげ; echo $? 1
あとはfindと組み合わせて、日本語ファイル名のファイルを探し出す。
$ find . -not -exec commands/ascii-only {} \; -print ./code/FLVStrip/名称未設定.h ./docs/report/network/ITネットワークレポート.pages ./docs/report/network/ITネットワークレポート.pages/Contents ./docs/report/network/ITネットワークレポート.pages/Contents/PkgInfo ./docs/report/network/ITネットワークレポート.pages/index.xml.gz ./docs/report/network/ITネットワークレポート.pages/QuickLook ./docs/report/network/ITネットワークレポート.pages/QuickLook/Thumbnail.jpg ./docs/slide/出発前チェックリスト.numbers
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- ;; ;; nihongo.scm - ;; ;; Copyright(C) 2009 by mzp ;; Author: MIZUNO Hiroki / mzpppp at gmail dot com ;; http://howdyworld.org ;; ;; Timestamp: 2009/02/19 21:53:57 ;; ;; This program is free software; you can redistribute it and/or ;; modify it under MIT Lincence. ;; (use srfi-1) (use srfi-14) (define (ascii-only? xs) (every (cut char-set-contains? char-set:ascii <>) (string->list xs))) (define (main args) (if (every ascii-only? (cdr args)) (exit 0) (exit 1)))