"20140919190454"→"2014年9月19日 19時4分54秒"が面倒くさい! このような文字列変換をしたい場合、あなたならどうやるだろうか? echo 20140919190454 | awk ' Y = substr($0, 1,4); M = substr($0, 5,2); D = substr($0, 7,2); h = substr($0, 9,2); m = substr($0,11,2); s = substr($0,13,2); printf("%d年%d月%d日 %d時%d分%d秒\n",Y,M,D,h,m,s); ' と書けばできることはできるが、substr()何個も書くのは面倒くさいし、長ったらしい。なんとかならないか。 substr()を2個のsedに代えればいい ちょっと頭を捻ってみよう。正規表現で2ケタずつの数字に分解した後、最初の4個は戻してや