0
1

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 5 years have passed since last update.

Linux : よく使うShellコマンド vol1

Last updated at Posted at 2016-12-02

Linuxを仕事で使っていると

「昨日実行したログだけ引っ張り出したいなぁ」

「圧縮ファイルいちいち解凍して検索すんのだるいなぁ」

みたいなシチュエーションにぶつかることがよくある。

自前の検索性を高めるためにもシェル芸を身につけるのはかなり有益と目する。
と思ってシェル芸の記事を書こうと思ったんだけど、シェル芸ってほど長いものでもないやつしか出てこなかったため、「よく使うシェルコマンド」に命名変更しました。

まぁ、はじめからみんなフルマラソン走れるわけじゃないよね(いいわけ)

かんたんなワンライナーShellを上げてこうかと思います。
仕事でよく使ったり詰まる事が多いものを。

環境は概ねmac OSXでやってます。


1:セレクト文を含むファイル名と該当レコード一覧を作成


ls ./* | xargs grep select 

-- 拡張子 / 再帰
ls ./*.txt -R | xargs grep select

-- 含まない
ls ./*.txt -R | xargs grep -v select

2:gzファイル内のテキストからfailを含むログを出力する(解凍しない)

zgrep "fail" *.gz > test.log

--該当文字列を含むレコードをカウント。
zgrep -o "2016/07/2" *.gz | uniq -c

3:tarで複数ファイルを圧縮

tar -cf tar02.tar *

4:tarの中身一覧を参照

--tar
tar -tvf *.tar

5:tar.gzの中身を直接参照

--tar.gz
tar -zxOf tar01.tar.gz

6: sedを使った文字列置換

cat foo.txt | sed 's/\.//g' > bar.txt 

-- タブ文字変換(macOSX限定)
sed -e 's/<Ctrl+v><tab>/\"<Ctrl+v><tab>\"/g' foo.csv > bar.tsv

参考:

http://qiita.com/b4b4r07/items/8c1911092002d0b457a6
http://d.hatena.ne.jp/m-hiyama/20080725/1216956895
http://qiita.com/kyanagimoto/items/37cc8e7a242ca2d1a29e
http://takuya-1st.hatenablog.jp/entry/2014/08/04/152101

いつもお世話になっております。


vol.2は気が向いたらアップするとおもいます。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?