2025/08/21 15:10
2025/08/20 16:19
行の並び替えや行の内容を一意にするときに使える。
コマンドラインオプション
-r
- リバース
-u
- 一意
sort
:ソートする
入力
cat <<EOF | sort
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
01
02
03
1
2
3
a1
a2
a3
aaa
aaa
aaa
bbb
bbb
ccc
zzz
sort -r
:逆ソート
入力
cat <<EOF | sort -r
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
zzz
ccc
bbb
bbb
aaa
aaa
aaa
a3
a2
a1
3
2
1
03
02
01
sort -u
:一意
入力
cat <<EOF | sort -u
aaa
bbb
aaa
aaa
ccc
bbb
EOF
出力
aaa
bbb
ccc
2024/01/29 12:07
コマンド体系が独特なので毎回忘れる。使い方はman find
で出す。find --help
してもマニュアルは出てこない
目的 | コマンド |
---|---|
通常検索 | find . -name "*hoge" |
正規表現検索 | `find . -type f |
typeで指定できる内容は以下の通り
type | 内容 |
---|---|
b | block (buffered) special |
c | character (unbuffered) special |
d | directory |
p | named pipe (FIFO) |
f | regular file |
l | symbolic link |
s | socket |
D | door (Solaris) |
正規表現で検索するオプションもあるようだが、直感的でないのでgrepで絞ったほうが早い。
2024/01/24 01:42
シェルスクリプトを書く際のshebangは#!/bin/sh
と書くことが多いと思うが、必ずしもbashで動作するとは限らないので、bash拡張構文を利用しているケースでは#!/bin/bash
と書いた方が良い。例えばUbuntuではdashが起動するケースがあり、スクリプトがコケることがある。
というか取り敢えず#!/bin/bash
と書いておき、いざ動かなくなってから考えたほうが良いと思う。
2024/01/24 00:53
特定ブランチ以外を全部消す
Git 2.25.1で確認
# マージされてないのは残す
git branch -d $(git branch | grep -vP <PCRE pattern>)
# 強制削除
git branch -D $(git branch | grep -vP <PCRE pattern>)
参考:git-branch - List, create, or delete branches (git-scm.com)
マージコミットをリバートする
Git 2.25.1で確認。基本-m 1
で問題ないと思われる
git revert -m 1 <commit>
コミット間のハッシュを見る
Git 2.25.1で確認
# 新しい順
git log --pretty=format:'%H' <commit>..<commit>
# 古い順
git log --pretty=format:'%H' <commit>..<commit> --reverse