[sylpheed-jp:10183] Re: 特定のフォルダのファイルを結合するには

Hatuka*nezumi - IKEDA Soji hatuka @ nezumi.nu
2007年 1月 20日 (土) 17:54:55 JST


池田といいます。

乱暴ですが、

for f in ? ?? ??? ???? ?????; do
  if [ -f $f ]; then
    cat $f >> $TARGETFILE
  fi
done

でも順番にならぶとおもいます (上記は bash の場合)。あまりにたくさん
ファイルがあるとだめです。

On Sat, 20 Jan 2007 00:04:21 +0900
ikesan <ikesan @ 1kw.jp> wrote:

> ikesan です。
> 
>  みなさん、貴重なお知恵を提供いただきましてありがとうございます。
> 
>  状況は、結合順が 1,10,100,… となってしまって、期待している 1,2,3,…に出来て
>  いません。
> 
> ・1つめのスクリプト
> 
> #!/bin/sh
> TARGETFILE=mail_out.txt
> MAILDIR=work
> cd ${MAILDIR}
> rm -f ${TARGETFILE}
> for f in `ls -F | grep -v / | sort -n`; do
>         cat ${f} >> ${TARGETFILE};
> done
> 
> ・2つめのスクリプト
> #!/bin/sh
> MAILDIR=work
> OUTFILE=mail_out2.txt
> TMPFILE=LIST_FILE
> cd ${MAILDIR}
> ls -1 | sort -n > ${TMPFILE}
> while read DATA
> do
>         cat ${DATA} >> ${OUTFILE}
> done < ${TMPFILE}
> rm ${TMPFILE}
> 
>  どちらも同じ結果になります。
> 
> % ls -F | grep -v / | sort -n > sorted_list の結果は
> 1*
> 2*
> 3*
> 4*
> 5*
> 6*
> 7*
> 8*
> 9*
> 10*
> 11*
>  
> % ls -1 | sort -n > sorted_list_2 の結果は、
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
> 11
> 12
> 
>  と出力されるので、この順に結合されるように思うのですが、よくわかりません。
>  
>  また、sylpheedのメニューから「mbox形式にエクスポート」を選んでの出力結果
>  は全然違うものになっています(並び順がよくわかりません)
> 
>  わたしが写したシェルスクリプトにおかしいところがあるのかもしれませんが
>  よくわかっていません。
>  
> _______________________________________________
> Sylpheed-jp mailing list
> Sylpheed-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/sylpheed-jp


Sylpheed-jp メーリングリストの案内