shellで重複行の件数を調べるワンライナー
expr $(cat <対象ファイル> | sort | wc -l) - $(cat <対象ファイル> | sort | uniq | wc -l)
<対象ファイル>部分を置き換えて使う。
やってることは単純、expr (ファイルの内容をソートして行数をカウントしたもの) - (ファイルの内容をソートして重複行を省いた行数をカウントしたもの)
expr $(cat <対象ファイル> | sort | wc -l) - $(cat <対象ファイル> | sort | uniq | wc -l)
<対象ファイル>部分を置き換えて使う。
やってることは単純、expr (ファイルの内容をソートして行数をカウントしたもの) - (ファイルの内容をソートして重複行を省いた行数をカウントしたもの)
#!/bin/bash
untar_by_file_type() {
if [[ "$1" == "application/x-tar" ]]; then
tar -xvf "$2"
elif [[ "$1" == "application/gzip" ]]; then
tar -zxvf "$2"
elif [[ "$1" == "application/x-xz" ]]; then
tar -Jxvf "$2"
elif [[ "$1" == "application/zstd" ]]; then
tar --use-compress-program unzstd -xvf "$2"
fi
}
untar() {
if [[ "$1" == "" ]]; then
echo "usage: untar <archive-filename>"
exit 1
fi
untar_by_file_type "$(file -b --mime-type "$1")" "$1"
}
untar "$@"
パスの通ってるところに置くか、~/.zshrc やら ~/.bash_profileやらに関数を追記
NASの容量を圧迫していたwavファイルが結構あったのでそいつらをまとめてflacに変換したいなぁと思ったので、ディレクトリ内のwavファイルをffmpegでまとめてflacに変換する方法のメモ。
error: No suitable version of LLVM was found system-wide or pointed
to by LLVM_SYS_110_PREFIX.
Consider using `llvmenv` to compile an appropriate copy of LLVM, and
refer to the llvm-sys documentation for more information.
llvm-sys: https://crates.io/crates/llvm-sys
llvmenv: https://crates.io/crates/llvmenv
--> /Users/user/.cargo/registry/src/github.com-1ecc6299db9ec823/llvm-sys-110.0.1/src/lib.rs:486:1
|
486 | / std::compile_error!(concat!(
487 | | "No suitable version of LLVM was found system-wide or pointed
488 | | to by LLVM_SYS_",
489 | | env!("CARGO_PKG_VERSION_MAJOR"),
... |
496 | | llvmenv: https://crates.io/crates/llvmenv"
497 | | ));
| |___^
こんなエラーが出てコンパイルがコケる
MacのSSDの総書き込み量をコマンドライン でサクッと確認してみる。
Smartmontoolsを利用するのでbrewを利用してインストールします。
brew install smartmontools
大抵は内蔵のSSDは/dev/disk0が割り当てられていると思いますが、念のため確認しておきます。
https://qiita.com/skyloken/items/a5f839eba1bd79cd5ef9
ターミナルで
brew install tcl-tk
を実行してtk-tckをインストール
vscodeなどのエディタで.zshrcファイルを開いて
.zshrcファイルの最後に以下を追記
Macにサクッと環境構築をしていきます。
OPAMはOCaml Package Managerの略でOCamlのパッケージの管理をやってくれます。
パッケージマネージャですが、OCaml本体のインストールもできます。
そんなにたいした話じゃないです。
MacでAndroid OSをビルドしようと思ったら途中でglob: fcntl: too many open filesって言われて、ビルドが止まってしまったので解消法のメモです。
2019/12/4現在、所用でMacにMongoDBをインストールしようと
brew install mongodb
を実行したところmongodbが見つからないと言われてしまった。
せっかくTouch Bar付きのMac Bookを買ったんだからTouch IDを有効に活用したい!
というわけで、sudoコマンドの認証をTouch IDにしちゃいます。