[[ソフト]]
&color(blue){本日の訪問者(&counter(today);)}; 昨日の訪問者:&counter(yesterday); 合計:&counter(total);
----
#contents
----
*&color(red){ご注意}; [#rbd9d36c]
デスクトップで処理したければ。ターミナル起動後
cd ~/desktop
として、デスクトップに移動してから作業すれば、効率が良いでしょう。
その場合、当然ながら各ファイルはデスクトップ上にあります。~
perlのソースコードも同じディレクトリに置けば良いでしょう。~
コマンド内のパラメータはその都度替える必要がある場合もありますので、ご注意下さい。
私の環境はMacOSXですので、MacOSXで開発しました。他の環境でのテストはしておりません。~
MacOSXの文字コードはUTF8 改行はLFです。
''自己責任でお使い下さい。''
私への連絡はメールでお願いします。アドレスはFrontPageにあります。
*ワンライナーで簡単にできる [#lde8a483]
ターミナルからのコマンド一発入力です。
**文字列操作関係 [#g25f3fde]
&color(red){''太字は良く使うスクリプトです''};
-perlを使って000001から000100まで自動生成~
$iの値2ケと%06dの値を随時替えて希望の数字を生成出来ます
perl -e 'for (my $i=1;$i<101;$i++){print(sprintf("%06d",$i)."\n")}' > num.txt
-''HTMLタグを削除 3種類''~
入力はhoge.html 出力はhoge-new.txt~
awkは、余分な空行も一緒に削除してくれます。sedはそのまま出力されます。perlはバージョンの違いがあります。~
awk(3行目のスクリプト)が使いやすいでしょう。
cat ./hoge.html | sed -e 's/<[^>]*>//g' > ./hoge-new.txt
cat ./hoge.html | perl -e 'while(<>){$_ =~s/<.*?>//g; print "$_\n";}' > ./hoge-new.txt
cat ./hoge.html | awk '{gsub(/<[^>]*>/,""); print'} > hoge-new.txt
-''csvファイルの先頭に行番号を追加するスクリプト''~
クライアントから入って来たエクセルデーターの順序を変えたくないときにナンバーを振るのに丁度良い。~
番号は6桁にしました。%06を替える事で桁数を変えられます。
入力ファイル名はhoge.csv 出力はhoge-out.csvです。
awk '{seq=sprintf("%06d",NR); print seq,$0 }' hoge.csv > hoge-out.csv
-''空行を取り除くスクリプト''~
in.txtファイルの空行(空白行)を取り除き out.txtへ出力するスクリプト
awk 'NF > 0' in.txt > out.txt
-''CSVファイルのある列だけを抜き取る''~
あるフィールド行を抜き取る 空行も削除↓の場合は$2
awk 'BEGIN{FS=","} NF > 0 {print $2}' in.csv > out.txt
[[応用具体例 CSV]]
*計算も一緒に [#eb9af8b3]
品名と数量と単価を入れたファイルを読んで、金額と総合計を計算して出力する。
&ref(./p1.png);→&ref(./p2.png);~
awk 'BEGIN{print "Fruts price suu"} {kingaku=$2*$3; total=total+kingaku; print $0,kingaku;} END{print "Total="total} ' test.txt > out.txt
**Web関係 [#y62d6eec]
-リンクを全て表示
curl http://print-man.jp/index.html | sed -n 's/^.*href="\([^"]*\)".*$/\1/p'
*ちょっと複雑な文字列操作 [#h6c1de89]
少し複雑になるとワンライナーでは書ききれません。
スクリプトをファイルにして実行するようにしました。~
ダウンロード後解凍しターミナルからのコマンドでスクリプトを実行して下さい。
**均等7字詰め [#j7269a41]
名簿印刷時に名前を均等にするとキレイに印刷できる。
-名前を7字詰めにするためのソフトです。~
解凍後ReadMeテキストをお読み下さい。Perlソースコードを実行します。~
将来、Form化し、web上で変換出来るように考えています。~
ダウンロード→[[kintou7.zip>http://print-man.jp/~jr1gdy/DLL/kintou7.zip]]~
&ref(./img2.png,70%);