{"id":661,"date":"2023-11-01T10:06:36","date_gmt":"2023-11-01T01:06:36","guid":{"rendered":"https:\/\/www.aqua-informatics.jp\/?p=661"},"modified":"2023-11-03T20:40:39","modified_gmt":"2023-11-03T11:40:39","slug":"bash%e3%81%ae%e9%99%90%e7%95%8c","status":"publish","type":"post","link":"https:\/\/www.aqua-informatics.jp\/?p=661","title":{"rendered":"bash\u306e\u9650\u754c\u2026"},"content":{"rendered":"\n<p>\u6bce\u6708\u3001\u6708\u521d\u306f\u5404Raspberry Pi\u304c\u64ae\u308a\u305f\u3081\u305f\u753b\u50cf\u3092\u30e0\u30fc\u30d3\u30fc\u306b\u5909\u63db\u3059\u308b\u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092cron\u306b\u767b\u9332\u3057\u3066\u3001\u8d70\u3089\u305b\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code> Script to make time series images into video                                                                                      \n\ncd \/home\/kimi\/Pictures\/rasp_zero_zeta\/\n\n# \u5148\u6708\u3092\u53d6\u5f97\nfolder_name=`date -d &quot;\\`date &#39;+%Y-%m-01&#39;\\` 1 months ago&quot; &#39;+%Y%m&#39;`\n\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u3001\u8a72\u5f53\u3059\u308b\u753b\u50cf\u3092\u79fb\u52d5\u5f8c\u3001\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5909\u66f4\nmkdir -p &quot;${folder_name}&quot;\nmv ${folder_name}*.jpg  .\/${folder_name}\ncd ${folder_name}\n\n# \u7a7a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u6d88\u53bb\nfind . -empty -delete \n\n# \u9023\u756a\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u3064\u3051\u76f4\u3057\nls | awk &#39;{printf &quot; mv %s pic%05d.jpg\\n&quot;, $0, NR}&#39; | bash\n\n# \u753b\u50cf\u3092\u52d5\u753b\u306b\u5909\u63db\nffmpeg -f image2 -r 15 -i pic%05d.jpg -r 15 -an -vcodec libx264 -pix_fmt yuv420p -loglevel quiet ${folder_name}.mp4\n\n# \u52d5\u753b\u3092\u79fb\u52d5\nmv &quot;${folder_name}.mp4&quot; ..\/2023\/&quot;${folder_name}_zero_zeta.mp4&quot;<\/code><\/pre><\/div>\n\n\n\n<p>Raspberry Pi zero zeta\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30a8\u30e9\u30fc\u3067\u52d5\u753b\u304c\u751f\u6210\u3055\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u3002\u30a8\u30e9\u30fc\u306f\u30e1\u30fc\u30eb\u306b\u51fa\u529b\u3055\u308c\u308b\u304c\u3001\u6b21\u306e\u69d8\u306a\u30b3\u30e1\u30f3\u30c8\u304c\u30e1\u30fc\u30eb\u306b\u3042\u3063\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\/rasp_zero_zeta\/monthly_scpt.sh: \u884c 10: \/usr\/bin\/mv: \u5f15\u6570\u30ea\u30b9\u30c8\u304c\u9577\u3059\u304e\u307e\u3059<\/code><\/pre><\/div>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30eb\u306e\u6570\u304c\u591a\u3059\u304e\u305f\u3088\u3046\u3060\u3001\u304a\u3088\u305d64000\u30d5\u30a1\u30a4\u30eb\u3002<\/p>\n\n\n\n<p>\u3042\u3068\u300110\u670831\u65e5\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u5f53\u305f\u3089\u306a\u3044\u3068\u306e\u30a8\u30e9\u30fc\u304c\u5225\u306eRaspberry PI\u30672\u4ef6\u3042\u3063\u305f\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u6539\u826f\u304c\u5fc5\u8981\u305d\u3046\u3060\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6bce\u6708\u3001\u6708\u521d\u306f\u5404Raspberry Pi\u304c\u64ae\u308a\u305f\u3081\u305f\u753b\u50cf\u3092\u30e0\u30fc\u30d3\u30fc\u306b\u5909\u63db\u3059\u308b\u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092cron\u306b\u767b\u9332\u3057\u3066\u3001\u8d70\u3089\u305b\u3066\u3044\u308b\u3002 Raspberry Pi zero zeta\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30a8\u30e9\u30fc\u3067\u52d5\u753b\u304c\u751f\u6210\u3055\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u3002 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":92,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_lightning_design_setting":{"layout":"default"},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/posts\/661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=661"}],"version-history":[{"count":8,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/posts\/661\/revisions"}],"predecessor-version":[{"id":693,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/posts\/661\/revisions\/693"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=\/wp\/v2\/media\/92"}],"wp:attachment":[{"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aqua-informatics.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}