2007年12月12日

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

青山と申します。

> > ファイル名に空白とか改行とか入ってるかもしれないので。
>
> この空白に結構はまりました、元々はcelestiaのアドオンの設定ファイルの

これについては、findの-execオプションが適切でしょうが、xargsの場合でも

$ find . -type f -name "*.txt" | xargs -i コマンド "{}"

と書けば問題ないと思います。


また、nkfには --overwrite というオプションがあるので、下記の処理は

$ find extras/ -name "*.ssc" -exec nkf -Lu -e --overwrite "{}" \;

でOKそうな気がします。

On Wed, 12 Dec 2007 21:15:17 +0900
"K.Moriyama" <mistletoe@xxxxx> wrote:

> 森山です。
>
> 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日 23:10
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67558
トラックバック
コメント
コメントする




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