シェルスクリプト– category –
-
bashでフォルダ内にある横長の画像ファイルだけ移動する
なんか限定的な用途ですが、表題まま。Stable Diffusionとかで絵をいっぱい作ってるとやりたいことがあるので。なおChatGPTに教えてもらった模様。 【環境】 bash imagemagick 【スクリプト】 カレントディレクトリにある横長画像をすべてlandscapeフォルダにぶちこむ。 #!/bin/bash # landscapeフォルダが存在しない場合は作成する if [ ! -... -
同じディレクトリにpngファイルと拡張子以外が同じjpgを検出・削除する
どういう状況やねんという感じですが、自分はこれに遭遇するのです。そしてChatGPTにきいたら即座にいい感じのコードを出してくれたのでメモ。何度も同じこと聞くの阿呆くさいからね。 【検出・削除のbashスクリプト】 何も指定しないと検出のみ、-rを引数に入れると削除まで実行する。 #!/bin/bash # 引数によって、削除を行うかどうかを設... -
crontabで気をつけていること
たまにcron使おうとすると、注意事項をしょっちゅう忘れてしまうので、自分用にメモ。なんか他にも色々あったような気がするがとりあえず思いついただけを。 【実行ユーザーと環境変数】 実行ユーザーはcrontabを実行して編集したユーザー。管理者権限がほしい場合は、sudoでcrontabを編集する。 環境変数を以下のようにして調べる。 * * * *... -
一括で複数の画像ファイルを余白つけて正方形にする
複数のサイズがまちまちな画像ファイルについて、一括でまとめて正方形にしたい。一辺の長さは縦幅と横幅のうち大きい方を採用し、足りない分は白または透明で塗りつぶす。 imagemagickを使ってシェルスクリプトで実装した。 【ソースコード】 環境はmacOS 10.13でGNU bash 3.2.57。 まず、余白をつけるのは以下のコマンド。 convert hoge.jp... -
bashでスクレイピングする時のメモ
あまりすることはないと思うが、bashで簡易的にスクレイピングする時によく使うコマンドとかのメモ。基本は行単位の処理なので、お手軽さを求めるなら用途は限られるか…。でも前処理とかに便利かもしれないし……。 【クローリング】 wgetでクローリング。 wget URL 再帰的にやるなら、たとえば以下。 wget -r --no-parent -w 1 -l 1 URL オプ... -
youtube-dlで音声だけ抽出
youtube-dlはコマンドラインで使える、とっても便利なYoutubeのダウンローダー。youtube-dlを使って音声だけ抽出するメモ。怪しげなサイトを利用してなくて良いし、コマンドラインなら応用が効くので有難い。MacならHomebrewでインストールが楽。 【使い方】 MacでインストールするならHomebrewが楽。 brew install youtube-dl ffmpeg ffmpeg... -
Macでカレントディレクトリ内のpngを一括でjpgに変換する(逆も同じ)
Macで、ターミナルよりカレントディレクトリにあるpngファイルを一括でjpgに変換します。逆も同じです。Macというよりbashですが。。。 【準備】 定番のImageMagickを使います。Homebrewでインストールするのが楽です。 Homebrew — macOS 用パッケージマネージャー brew install imagemagick 【使用例】 たとえば、.pngファイルを.jpgファイ... -
Octaveで反比例の二次元グラフを描画
octaveで二次元グラフを描画します。反比例のグラフ(\(y = \frac{1}{x^2}\))を描きます。 【\(y = \frac{1}{x^2} (-10 \leq x \leq 10) \)を描く】 octaveで\(y = \frac{1}{x^2} (-10 \leq x \leq 10 ) \)のグラフを描きます。これが描けたら、だいたい二次元グラフ描画のことは思い出せると思うので。 自動範囲でプロット まず普通にplotし... -
Macで複数のpngファイルをpdfに変換する
本記事では、Macにおいて、複数のpngファイルを一つのpdfにまとめて変換するやり方について書きます。端末を使います。一番簡単なのは convert *.png hoge.pdf なのですが、これだと画質がちょっと…。 【複数のpngをpdfに】 Macで複数あるpngファイルを、一つのpdfファイルに変換します。ソフトはImageMagickを使用します。普通に convert *.... -
SC2029: Note that, unescaped, this expands on the client side. について
本記事は、シェルスクリプトの構文をチェックしてくれる便利なソフトshellcheckにおいて、表題のエラー「SC2029: Note that, unescaped, this expands on the client side.」がどのような時に出るのかについて書いたものです。 【shellcheckの注意文】 shellcheckは、シェルスクリプトの構文チェックをしてくれる便利なソフトウェアです。こ...
12