1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

慣れないシェルコマンドを使ってみた【入門編】

Last updated at Posted at 2023-03-30

はじめに

業務を遂行してる時にシェルコマンドを使うことが多々ありますが、頻繫に使うコマンド以外のコマンドを勉強していきたいと思います。

慣れないシェルコマンド

bc(計算)

計算をするためのコマンド

$ echo '1+1'
1+1
$ echo '1+1' | bc
2

sed(置換)

文字を置換するためのコマンド

$ echo キムイババパワー | sed 's/イ/い/'
キムいババパワー
$ echo キムイババパワー | sed 's/バ/ば/'
キムイばバパワー
# 全ての検索対象の文字列を置換したい場合は後ろにgを付ける
$ echo キムイババパワー | sed 's/バ/ば/g'
キムイばばパワー
# 検索文字を再利用したい時場合は&を使う
$ echo キムイババパワー | sed 's/ババ/&&/'
キムイババババパワー
# 検索対象の文字列を括弧で囲み、\1、\2・・・で呼び出す
$ echo キムイババパワー | sed -E 's/(キムイ)(ババパ)/\2\1/'
ババパキムイワー
# .は任意の一文字を意味する
$ echo キムイババパワー | sed -E 's/(キ..)(...)/\2\1/'
ババパキムイワー

sortとuniq(集計)

# 辞書順に並べる
$ seq 5 | awk '{print $1%2 ? "奇数" : "偶数"}' | sort
偶数
偶数
奇数
奇数
奇数
# 重複を消す、重複する行は連続して並んでる必要がある
$ seq 5 | awk '{print $1%2 ? "奇数" : "偶数"}' | sort | uniq -c
      2 偶数
      3 奇数
# sortせず、uniqを使用した場合
$ seq 5 | awk '{print $1%2 ? "奇数":"偶数"}' | uniq -c
      1 奇数
      1 偶数
      1 奇数
      1 偶数
      1 奇数

xargs(一括処理)

# 1、2、3、4という名前の4つのディレクトリを作成
$ seq 4 | xargs mkdir
$ ls -d ?
1  2  3  4
# 1、2、3、4という名前の4つのディレクトリを削除
$ seq 4 | xargs rmdir
$ ls -d ?
ls: cannot access '?': No such file or directory
# 1、3という2つのディレクトリを作成
$ mkdir 1 3
# それぞれ2、4という名前に変更
$ seq 4 | xargs -n2 mv
$ ls -d 2 4
2  4
# -I オプションは渡されたデータを任意の位置の引数に展開
$ seq 4 | xargs -I@ mkdir dir_@
$ ls -d dir_*
dir_1  dir_2  dir_3  dir_4

さいごに

個人的に慣れや流れでコマンドを使用している場合が多いですね。
ちゃんと理解して使いたいと思います。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?