Cygwin上でバッチ処理を作成するうえで、利用するであろうコマンド

 

Cygwin上で操作するためには、CUIでUnix系コマンドを利用する必要があります。基本的なコマンドをまとめておきます。

pwd:現在ディレクトリ表示

pwdコマンドで現在ディレクトリを表示させることができます。今いるディレクトリがわからなくなったら確認してみましょう。

$ pwd
/usr/local

ls:ディレクトリ情報表示

lsコマンドでディレクトリ情報の表示が可能です。どんなファイルがあるかを調べるときに使います。

主なオプションは次の通りです。

オプション 概要
l リスト表示を行う
t 時間順でソートする
r ソートを逆順にする
h 単位を見易くする
$ ls -rlth
合計 4.0K
drwxr-xr-x+ 1 naoto なし 0 3月   5 18:46 bin
drwxr-xr-x+ 1 naoto なし 0 3月   5 18:46 lib
drwxr-xr-x+ 1 naoto なし 0 3月   5 18:46 etc
drwxr-xr-x+ 1 naoto なし 0 3月   5 19:22 jre1.8.0_73

cd:ディレクトリ移動

cdコマンドでディレクトリ移動を行います。

$ cd /usr/local/

vi:ファイル編集

ファイルの編集はviコマンドで行います。

viコマンドでは、コマンドモードと編集モードの2種類があります。起動直後はコマンドモードとなっています。

コマンドモードの編集方法は次の通りです。

キー 概要
k 上へ移動
l 右へ移動
h 左へ移動
j 下へ移動
:q 終了
:q! 強制終了
:w ファイル保存
:wq ファイル保存して終了
x 1文字削除
i 編集モードへ
a 次の文字から編集モードへ
^ 行の先頭へ移動
shift+$ 行の最後へ移動
g 先頭へ移動
shift+g 最後尾へ移動

編集モードでは、通常の文字入力や矢印ボタンでの移動が可能です。編集モードから抜ける場合は、「Esc」を使います。

キー 概要
Esc 編集モードを抜ける

慣れるまでは、とっつきにくいですが使って慣れるしかありません。よくわからない状態になってしまったら、いったんコマンドモードへ抜けて、保存せずに「:q!」で強制終了させてしまいましょう。

cat:ファイル内容出力

catコマンドでファイルの内容を出力します。

$ cat sample.txt
1 abc
2 ghi
11 xyz
4 def
3 jkf

複数ファイルを同時に指定することも可能です。

$ cat sample.txt sample.txt
1 abc
2 ghi
11 xyz
4 def
3 jkf
1 abc
2 ghi
11 xyz
4 def
3 jkf

sort:ファイルの中身をソート

sortでファイルの中身をソートします。

オプション 概要
n 数字とみなしてソートする
r 逆順にソートする
k ソートキーになる列を指定する

文字列としてソートする。

$ sort sample.txt
1 abc
11 xyz
2 ghi
3 jkf
4 def

数字としてソートする

$ sort -n sample.txt
1 abc
2 ghi
3 jkf
4 def
11 xyz

数字として逆順にソートする

$ sort -nr sample.txt
11 xyz
4 def
3 jkf
2 ghi
1 abc

2つ目の項目をキーとしてソートする

$ sort -k2 sample.txt
1 abc
4 def
2 ghi
3 jkf
11 xyz

>:リダイレクト

リダイレクトを使うことによって、標準出力の内容をファイルに書き込むことが可能です。

たとえば、sample.txtのソート結果をsort.txtへ書き込むためには次のように記載します。

$ cat sample.txt
1 abc
2 ghi
11 xyz
4 def
3 jkf

$ sort -n sample.txt >sort.txt

$ cat sort.txt
1 abc
2 ghi
3 jkf
4 def
11 xyz

|:パイプ処理

パイプ処理を使うことで、標準出力の結果を次のコマンドへ渡すことができます。

たとえば、catした2つのファイルをソートする場合は次のように記載します。

$ cat sample.txt sample.txt |sort -n
1 abc
1 abc
2 ghi
2 ghi
3 jkf
3 jkf
4 def
4 def
11 xyz
11 xyz
  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。