FC2ブログ

選択範囲にシェルのコマンドを実行


他にも、vi には便利な機能があります

指定した範囲に対して、シェルのコマンドを実行し、現在の内容と書き換えることができます

この構文は
範囲 !コマンド

になります

例として

linux fedora mac
windows mac win
linux fedora android
mac win ubuntu
debian redhat knopix
backtrack vine

という内容のファイルで
:%!cat -n
とすると

1 linux fedora mac
2 windows mac win
3 linux fedora android
4 mac win ubuntu
5 debian redhat knopix
6 backtrack vine
~
というように
番号がついて表示されます

また
:.,$w text.txt
というようすることで
指定した行を別のファイルに書き出すことも可能です

ただし、:w で保存したい場合
正規表現を使えません

正規表現を使って、当てはまる条件のものだけを別のファイルに抜き出すには

001:田中:男:21
002:鈴木:女:19
003:伊藤:男:31
004:山田:女:27
005:井上:男:18
006:佐藤:女:22

の場合
:w !grep ":男:" > men.txt
とすると
:男:
の文字を含む行だけを抜きだしたファイルを
作成できます

ちなみに内容は
001:田中:男:21
003:伊藤:男:31
005:井上:男:18

となり、無事に男の名前のみ抜き出したファイルが作成されました

ちなみに、行ったexコマンドの実行結果は
$history のように
:his
で実行結果をみれます

ただし、一度 vi を閉じると
この履歴は見れないようです

スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック