bash・シェルスクリプト

cp コマンドの --parents オプションでディレクトリ構成を保持したまま特定のファイルだけコピーする。

試した環境 WSL バージョン: 1.2.5.0 Ubuntu 20.04.5 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64) GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) cp (GNU coreutils) 8.30 本題 cp コマンドで --parents オプションを指定する…

bash で複数のコマンドの合計の時間計測するにはコマンドを括弧で囲む

試した環境 WSL バージョン: 1.2.5.0 Ubuntu 20.04.6 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64) GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) 本題 ワンラインでtime command1; command2;とすると、command1の時間計測だけ…

unzip の -v オプションはファイルを展開しない

試した環境 WSL バージョン: 1.2.5.0 Ubuntu 20.04.5 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64) GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) UnZip 6.00 本題 unzip コマンドの -v オプションはzipファイルの情報を詳しく…

bashでパラメータ展開の文字列をシングルクォートとダブルクォートで二重に囲った時の動作

試した環境 WSL バージョン: 1.1.3.0 Ubuntu 20.04.5 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64) GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) 本題 bashにおいてパラメータ展開の文字列$HOGEをシングルクォートで囲った場合…

ヒアドキュメントで変数やコマンドを展開したくない場合は終了文字列をクォートする

試した環境 WSL バージョン: 1.0.3.0 Ubuntu 20.04 GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) 本題 通常のヒアドキュメントはドキュメント内の変数やコマンドを展開します。 $ cat << EOT pi = $(echo | awk '{print atan2(0, -1)}') EOT …

ファイル分割でファイル名を指定するのに便利な split コマンドのオプション【bash】

試した環境 Windows 10 Git 2.24.0.2 の Git Bash 本題 ファイル分割する際、ファイル名のつけ方で色々な要望があると思います。 私がファイル名のつけ方でやりたかったことが bash のsplitコマンドのオプションに用意されておりました。 その機能を紹介しま…

Git Bash を使ってプログラムを並列で実行したときの処理時間を測定する

はじめに プログラムを並列実行したいとき、コマンドプロンプトではstartコマンドがあります。 しかしstartで実行した処理の終了を捕捉するのは簡単にはできないと思います。 (私が知らないだけかもしれませんが。) そうなると、並列実行した時のすべての…

2次元の連番ファイルから一部の範囲のファイルを指定する(Windows 環境)

以下のような連番ファイルが1つのディレクトリ内に存在すると想定します。 00_0000.jpg ... 00_0089.jpg 01_0000.jpg ... 01_0089.jpg : 29_0000.jpg ... 29_0089.jpg 上記の2700ファイルような2つの連番がついたファイルをここでは2次元の連番ファイルと呼…