Skip to content

Instantly share code, notes, and snippets.

@ichikaway
Last active August 2, 2016 07:43
Show Gist options
  • Save ichikaway/a722c970d6c5ba2578b6509d57c53684 to your computer and use it in GitHub Desktop.
Save ichikaway/a722c970d6c5ba2578b6509d57c53684 to your computer and use it in GitHub Desktop.
bash_example.sh
ctl + a : 行頭移動
ctl + e : 行末移動
esc + b : 一単語左へ移動
esc + f : 一単語右へ移動
ctl + u : カーソルから左をすべて削除
ctl + k : カーソルから右をすべて削除
ctl + d : カーソル文字削除
ctl + h : カーソル前の文字削除
ctrl + w : カーソルの単語カット
ctrl + k : カーソル右カット
ctrl + y : ペースト
ls img_00?.txt 任意の一文字マッチ
ls img_0[0-9][0-9].jpg
cp foo.txt{,-20160602} は、 cp foo.txt foo.txt-20160602と同じ
mv foo.txt{-200160602,}は、 mv foo.txt-20160602 foo.txtと同じ
mkdir -p foo/{a,b,c}/bar
touch {1,2,3}.txt
touch {1..5}.txt
touch IMG_{001..010}.txt
touch {a-z}.txt
for i in `ls`; do
echo $i;
done
#IMG_1.jpgをIMG_001.jpgに変換
for i in {1..10}; do
mv IMG_$i.jpg IMG_$(printf %03d $i).jpg;
done
#1から10までカウントして、3の時だけthreeにする
for i in {1..10}; do
if [ $i -eq 3 ]; then
echo "three";
else
echo $i;
fi
done
#コロン区切り行の1列目のみ抜き出し、ソートして重複排除
awk -F: '{print $1}' hoge.txt | sort | uniq| less
#<Name>www.example.com</Name>を抜き出して、FQDNのみ抜き出し、sort
grep '<Name>' foo.txt | sed -e 's#.*<Name>##g' | sed -e 's#\.</Name>##g' | sort | less
find . -type f | xargs wc -l
find . -type f -exec wc -l '{}' \;
#シェルオプショん
#!/bin/bash -u
echo ${aaa} #未定義の変数を使うとエラー( -u オプション)
#ローカル変数
#!/bin/bash -eu
foo(){
local i="aaa"; #localをつけないとグローバル変数となって呼び出しもとのiを上書きしてしまう
echo $i;
}
i="bb";
echo $i;
foo;
echo $i;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment