Python でワンライナー
Python でワンライナーをやってみる.
c オプションを用いて,テキストを渡すことで実行できる.
$python -c "print 'Hello World'"
$Hello World
今回は,以下のようなテキストファイルから数値を取り出し,
その数値を2倍する処理を実装することを試みます.
#hoge_int.txt 100 500 400 300 600
下記にワンライナーを示します.(読みやすいように改行しています.)
$python -c " f = open('hoge.txt', 'r'); lines = f.readlines(); f.close; result = ''.join([str(int(x) * 2) + '\n' for x in lines]); f = open('hoge_2.txt', 'w'); f.write(result); f.close()"
処理はシンプルに,
行ごとに読み取り,配列に格納
配列の各要素を整数に変換し2倍する.その後,文字列へ変換し改行コードを付与.最後に,join を用いて文字列に戻す
新しいファイルを生成し,書き出す
このようなロジックで行います.
出力結果を最後に示します.
#hoge_out.txt 200 1000 800 600 1200