汚かった

まぁログファイルなんかを渡すときに、IPアドレスとかIDを隠蔽したいなぁ。なんて思うことがあったりするんですが、接続元ごとのアクセス集計なんかをしてる場合だと、そんな事言われても困っちゃうわけで。

そんなわけで無理くりにIPアドレスの数字(0〜9)を、英字(a〜j)に置き換えてみた。
・サーバー名を冠したフォルダ内に複数のファイルが存在する
・ファイル中身は、タブ区切りで第一フィールドに数字のみからなる何か(IPアドレスとかIDとか)が記されている
・フィールド数は3つ
の場合を想定。

$ for FILE_BEF in `ls ./*.txt` ; do
>   while read LINE_BEF ; do
>     IP_BEF=`echo "${LINE_BEF}" | cut -f 1`
>     IP_AFT=`echo ${IP_BEF} | sed -e s/0/a/g | sed -e s/1/b/g | sed -e s/2/c/g | sed -e s/3/d/g | sed -e s/4/e/g | sed -e s/5/f/g | sed -e s/6/g/g | sed -e s/7/h/g | sed -e s/8/i/g | sed -e s/9/j/g `
>     echo -en "${IP_AFT}\t"
>     SCND_FLD=`echo "${LINE_BEF}" | cut -f 2`
>     echo -en "${SCND_FLD}\t"
>     THRD_FLD=`echo "${LINE_BEF}" | cut -f 3`
>     echo -e  "${THRD_FLD}"
>   done < ./${FILE_BEF}
> done > output

愚直にsedを10回かぶせるというアレな作りになってしまった o...|rz。実にやっつけ感が溢れている。