LoginSignup
6
8

More than 5 years have passed since last update.

Linuxでの便利なワンライナーでの操作

Last updated at Posted at 2018-03-10

普段、LinuxのCLI操作で便利な操作を一個一個紹介します。

その1. 適当な検証用ディレクトリを複数作成してディレクトリを移動したい

$ mkdir {01..10} // 1~10のディレクトリ
$ mkdir {01..10}; ls
1   10  2   3   4   5   6   7   8   9

単体で作成したいときは、連続で並べればいけます。

$ mkdir aa bb cc // aa bb ccの3つのディレクトリ作成
$ mkdir aa bb cc; ls
aa  bb  cc

その2. 作成したディレクトリへ移動したい

$ mkdir aa; cd $_

ちなみに複数ディレクトリを作成すると最後が適応され下記ですと「cc」のディレクトリへ移動します。

$  mkdir aa bb cc; cd $_

その3. 1日前に変更したディレクトリを可視化したい

$ find . -mtime -1 | head

その4. 引数を受け取って、順番に特定のコマンドを実行していきたい。

例としてこんなようなsampleファイルがあったとします。

$ cat sample.list 
aaa
bbb
ccc
ddd

このaaa,bbb,cccに「!」をつけたいといったときの方法です。

まず「!」をつけるシェルを用意します。

run.sh
#!/bin/sh

echo $1"!"

そして、ワンライナーで下記のようにxargsを駆使して実行できます。

$ cat sample.list | xargs -I{} ./run.sh {}
aaa!
bbb!
ccc!
ddd!

その5. MySQLから特定のデータを取得したい

mysqlのクライアント経由ではなくbashのCLI上で行う方法です。

$ mysql -u root -p -D memberprovision -e "mysql -u ${user} -p -D ${db_name} -B -N -e "select * from ${table_name}"|  head -n 10 test.list
Enter password: ****

aaaaa   2016-04-18 18:07:42.000000
bbbbb   2016-04-18 18:07:42.000000

以上です。

参考
https://qiita.com/i35_267/items/4c2572ee7b91a5dbc641
https://qiita.com/simeji/items/cae94349a2ae02d3204d

6
8
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
6
8