2007年12月12日

[linux-users:107841] Re: シェルスクリプトへのファイル名の引渡し

森山です。

On Tue, 4 Dec 2007 11:27:56 +0900
matu <matu@xxxxx> wrote:

> >> $ find . -type f -name "*.txt" | xargs コマンド
> >>でよさそうですね。
>

> もう一つ付け加えると、
> find . -type f -name "*.txt" -print0 | xargs -0 コマンド
> かな。
>
> ファイル名に空白とか改行とか入ってるかもしれないので。

この空白に結構はまりました、元々はcelestiaのアドオンの設定ファイルの
改行コードの変換を行いたかったので、以下のようなスクリプトを作成し
(ファイル名は、change.sh )

#!/bin/sh
fileNameOrg=$1
fileNameTmp=$1.tmp
nkf -Lu -e "$fileNameOrg" > "$fileNameTmp" ; cp "$fileNameTmp" "$fileNameOrg" ; rm "$fileNameTmp"

以下のようにコマンドラインから入力する事で何とかなりました。

find extras/ -name "*.ssc" -exec change.sh {} \;

# 多分もっと良い方法は有るのでしょうが...
# ちなみに、改行コードを変換しても動作的には変化なし。
# ( 落ちる物が有ったので、解消を期待したのですが... )
#
# それにしても、[ "$xxxxx" ]にしないとダメなのには、暫く
# 気がつきませんでした。
#
--
K.Moriyama
rpn Calculator : http://www.k2.dion.ne.jp/~mistle/linux/tips/rpnCalculator.html
RPN電卓メーリングリスト : http://www.freeml.com/rpn


投稿者 xml-rpc : 2007年12月12日 21:15
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67553
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。