Skip to content

Instantly share code, notes, and snippets.

@tzmfreedom
Last active December 29, 2020 10:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tzmfreedom/285c3b643cb52785bc6838e015c868fd to your computer and use it in GitHub Desktop.
Save tzmfreedom/285c3b643cb52785bc6838e015c868fd to your computer and use it in GitHub Desktop.
# find
find ./ -name 'main.go'
find ./ -name '*.go'
find ./ -name '*.go' -type f // -type d => directory, -type l => symbolic link
find ./ -name '*.go' -exec ls -la {} \;
# 文字列置換
cat hoge | sed -e 's/hogehoge/aaa/g'
# 文字列抽出(grep)
cat hoge | grep hogehoge
# 文字列抽出(sed)
cat hoge | sed -n '/hogehoge/p'
# 3〜5行目を削除して出力
cat hoge | sed -e '3,5d'
# 3〜5行目を抽出して出力
cat hoge | sed -n '3,5p'
# 特定の文字列から特定の文字列まで(行単位)
cat hoge | sed -n '/hoge/,/fuga/p'
# 2列目を出力
cat hoge | awk '{ print $2 }'
# 3行目以降の2列目を出力
cat hoge | awk 'NR>2{ print $1 }'
# 1列目が文字列にマッチした行を出力
cat hoge | awk '$1~/hoge/ { print $1 }'
# 標準入力読み込み
read ln; echo $ln;
while read ln; do done
# 小文字→大文字変換
cat hoge | tr 'a-z' 'A-Z'
# 日付を任意のフォーマットで出力
date --date "1 day ago" "+%Y/%m/%d"
# 改行削除
tr -d '\n'
# 変数の切り出し
${var:index:length}
# 変数の文字列長
${#var}
# 文字列削除
${var%hoge*}
${var#*hoge}
# 定義されていればそれを使う、そうでなければデフォルト値
${var:-default}
# 上記のパターン+セット
${var:=default}
# ワイルドカード展開を停止してコマンド実行
noglob command
# 文字コード変換(UTF-8 => Shift-JIS)
nkf -Ws hoge
# 文字コードを確認
nkf -g hoge
# Shift-JIS => UTF-8
nkf -Sw hoge
# 正規表現のグルーピングで抽出して、その文字列を表示
echo "hoge:12345" | sed -e 's/.*hoge:([0-9]*).*/\1/'
# 頻度抽出
wc -l | sort -nr | uniq
# URLエンコード(UTF-8)
echo "テスト" | nkf -WwMQ | tr = %
# URLデコード(UTF-8)
echo "..." | tr % = | nkf -WwmQ
# ファイルタイプを判定する
cat hoge | file -
# 文字列比較=
if [ "$i" = "aaa" ]; then
# 文字列比較!=
if [ "$i" != "aaa" ]; then
# 数値比較=
if [ $i -eq 1 ]; then
# 数値比較!=
if [ $i -ne 1 ]; then
# 数値比較>
if [ $i -gt 1 ]; then
# 数値比較<
if [ $i -lt 1 ]; then
# 文字列長が0
if [ -z $i ]; then
# 文字列長が0でない
if [ -n $i ]; then
# ディレクトリかどうか
if [ -d $i ]; then
# ファイルかどうか
if [ -f $i ]; then
# ファイル/ディレクトリが存在する
if [ -e $i ]; then
# 10回ループ(for)
for i in `seq 10`
do
echo hogehoge$i
done
# 10回ループ(while)
i=0
while [ $i -lt 10 ]
do
echo fugafuga$i
i=$((i+1))
done
# tcpdump
sudo tcpdump -i any -vv port 443 or port 80 # and とか host xxxとか -i eth0 とか
# Rubyワンライナー
seq 1 10 | ruby -e 'puts readlines.map{ |c| "''#{c.chomp}''" }.join(",\n")'
seq 1 10 | ruby -lne 'puts "''#{$_}'',"'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment