投稿日:
行の並び替えや行の内容を一意にするときに使える。
コマンドラインオプション
-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
投稿日:
コマンド体系が独特なので毎回忘れる。使い方は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で絞ったほうが早い。
投稿日:
シェルスクリプトを書く際のshebangは#!/bin/shと書くことが多いと思うが、必ずしもbashで動作するとは限らないので、bash拡張構文を利用しているケースでは#!/bin/bashと書いた方が良い。例えばUbuntuではdashが起動するケースがあり、スクリプトがコケることがある。
というか取り敢えず#!/bin/bashと書いておき、いざ動かなくなってから考えたほうが良いと思う。
投稿日:
特定ブランチ以外を全部消す
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