Cygwin上でバッチ処理を作成するうえで、利用するであろうコマンド
Cygwin上で操作するためには、CUIでUnix系コマンドを利用する必要があります。基本的なコマンドをまとめておきます。
Contents
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
この記事へのコメントはこちら