#author("2024-07-26T12:35:16+09:00","default:nobuoki","nobuoki") #author("2024-07-26T12:35:41+09:00","default:nobuoki","nobuoki") * 機能 [#re08e372] 標準入力からファイル名を受け取り、 ファイル名の末尾に、ファイル修正日(時)(ローカルタイム)を付与した文字列を返します * 使い方 [#hb3f0278] ls や find でファイル名を渡します #prism(bash){{{ $ ls *.txt | fymd "rasq.txt" "rasq.txt".20240601 "rass.txt" "rass.txt".20240601 $ find . -maxdepth 2 -name "*.txt" | fymd "./Desktop/dhcp-server.txt" "./Desktop/dhcp-server.txt".20240602 "./rass.txt" "./rass.txt".20240601 "./rasq.txt" "./rasq.txt".20240601 }}} mv (や cp)と組み合わせると便利です mv や cp と組み合わせると便利です #prism(bash){{{ $ ls /tmp/*.txt | fymd | xargs -tL1 mv -v mv -v /tmp/rasq.txt /tmp/rasq.txt.20240601 名前変更: '/tmp/rasq.txt' -> '/tmp/rasq.txt.20240601' mv -v /tmp/rass.txt /tmp/rass.txt.20240601 名前変更: '/tmp/rass.txt' -> '/tmp/rass.txt.20240601' }}} 引数を与えると、ファイル名の前に埋め込みます #prism(bash){{{ $ ls *.txt | fymd /tmp/ "rasq.txt" "/tmp/rasq.txt".20240601 "rass.txt" "/tmp/rass.txt".20240601 }}} 別ディレクトリにコピーしておく、のような時には便利かもしれません #prism(bash){{{ $ ls *.txt | fymd /tmp/ | xargs -tL1 cp -vp cp -vp rasq.txt /tmp/rasq.txt.20240601 'rasq.txt' -> '/tmp/rasq.txt.20240601' cp -vp rass.txt /tmp/rass.txt.20240601 'rass.txt' -> '/tmp/rass.txt.20240601' }}} * 実装 [#v1a97886] 日付のみ #prism(bash){{{ fymd () { perl -M'POSIX qw(strftime)' -lne '@a=stat; print qq("$_" "'"${1}"'$_".), strftime("%Y%m%d", localtime($a[9]))' } }}} 日時 #prism(bash){{{ fymdt () { perl -M'POSIX qw(strftime)' -lne '@a=stat; print qq("$_" "'"${1}"'$_".), strftime("%Y%m%d_%H%M%S", localtime($a[9]))' } }}}