#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]))'
}
}}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS