tee コマンドを使うことで、画面に結果を表示しながら
ファイルに書き込むことができます
sort や uniq コマンドを実行しても、元々のファイルは変わりません
しかし、実行結果に tee コマンドをパイプでつなげば
並び替えたファイルを記録できます
$ sort travel.txt | uniq -c | sort -nr | tee result.txt | head -n 5
これで、並び替えた結果が result.txt に保存され
上位5つだけ画面に表示されます
この流れを解説すると
最初に
sort travel.txt
で並び替え
次に
uniq -c
で重複ファイルを整理して番号を降ります
その結果を
sort -nr
で並べ替えして
tee result.txt
で、結果を
result.txt に保存しながら
画面に表示するように指示
head -n 5
で指示された結果から上位5つだけを表示
となります
画面に表示する必要性を感じないのであれば
$ sort travel.txt | uniq -c | sort -nr | tee result_tmp.txt > result.txt
というようにします
月別: 2010年12月
重複行を整理する sort と uniq コマンド
今回、日経Linux 2008-9 におもしろい記事が載っていたので
実験してみました
とはいっても、簡単なコマンドの組み合わせですが
今回、使用したコマンドは
重複行を削除するコマンド uniq コマンド
(107.uniqコマンドについてにわかりやすい説明が載っています)
そして
ファイルの行を並び替える sortコマンド
(【 sort 】 行を並び替えるが参考になります)
を使っています
最初に、
vi travel.txt
で内容を作成します
内容は単純に、国の名前を適当に並べたものです
アメリカ
イギリス
フランス
ドイツ
中国
インド
ロシア
日本
アメリカ
シンガポール
ドイツ
フランス
アメリカ
中国
などというように、適当に書き込みます
これに
$ uniq travel.txt
と実行すると
隣り合った部分が削除されて画面に表示されます
ただし、元のファイルはそのままです
これをさらに、sort コマンドと組み合わせると
重複する文字を削除できるようになります
$ sort travel.txt | uniq
これで、重複する文字を削除して表示できます
ちなみに、削除だけなら、sortコマンドに -u オプションをつければできます
$sort -u travel.txt
これでOKです
uniq コマンドは、削除するより、重複した文字をカウントする機能
を使うことがメインとなりそうです
-c オプションをつけると、この機能が使えます
$ sort travel.txt | uniq -c | sort -nr
とすれば、重複した文字の多い順番に並べれます
さらに。
$ sort travel.txt | uniq -c | sort -nr | head -n 5
とすれば、上位3つまで表示するようにできます
この機能を応用すると、アンケートや選挙のようなことができそうです
FTP転送可能なブックアプリ
iPod touch のアプリで、sideBooks という無料のアプリがありましたので
さっそくインストールしてみました
これまでは
iBooks を使っていたのですが、
自炊したPDFを毎回 Windows を起動して
iTune を立ち上げ、同期という面倒な作業をしていました
しかし、このアプリを使うことで
Filezilla のようなアップロードできるソフトを使い
簡単に転送できるようになりました
ちなみに、iPod touch や iPhone のアプリを購入するには
クレジットカードを使う
もしくは
iTuneカードを購入し、コードを入力して入金する必要性があります
無料の場合には、この作業が必要ありませんが
有料のアプリを購入するには必要になります
私の場合、サークルKサンクスの
カルワザクラブの割引で iTuneカードを購入し
残額の中で購入するようにしています
ちなみに、割引は期間限定クーポンで
今回は 2011年1月9日までです
詳細はカルワザクーポンでiTunes Cardがおトク!
に載っています
今回は、
3000円が 2600円
と
1500円が 1300円
でした
パイプの使い方
最近、過去の雑誌を整理し、内容の復習を兼ねていろいろと
実行してみました
今回は、基本に立ち返り
パイプの使い方です
参考にした雑誌は、日経Linux 2008-9
です
パイプを使うことで、過去のログなどを効率的にみることができます
とくに、一番使うのが history コマンドと grep コマンドの組み合わせを
よく使います
使い方は
$ histroy | grep ssh
や
サーバー構築の続きを行うときに使います
今回は、3つの機能をパイプでつなげて見ました
$cat -n /etc/services | head -n 50 | tail -n 10
とします
これは、最初に
cat -n を使ってファイルに番号を振り分け
次に
head -n 50
で、先頭から50文字のみ表示にして
最後に
tail -n 10
で最後から10行だけ表示
という使い方になります
サーバーのファイル設定を失敗してしまい、
エラーメッセージがでたときなどに、こういう組み合わせを
使い、その箇所だけをみるということもできます
例えば、
300行~400行にエラーとなったときに、
$cat -n /etc/httpd/conf/httpd.conf | head -n 400 | tail -n 400
とすると、その場所を表示できます
また、シェルスクリプトでよくある記述としては
2>&1
というものがありますが、
これは標準出力と、標準エラー出力先を同じにするという意味になります
2は、標準エラー出力
1は、標準出力
という意味になります
よく使われるのは、行き先を /dev/null
と設定する方法です
/dev/null にすると。そのデータを破棄します
これを使った例がありました
$ find /usr/ -name “*.txt” 2>&1 > /dev/null | cat -n
もっとも、これを一般ユーザで実行しても、権限がないので
閲覧はできません
この動きを解説すると
最初に
find コマンドで /usr/ の中から .txt の拡張子のファイルを見つけます
次に、
標準出力のデータを /dev/null で破棄
そして標準エラー出力のデータに番号をつけて表示
という処理になります
パイプを使うと、grep コマンドで探すときに
さらに詳しく検索も可能になります
grep コマンドの使い方は
grep 探したい文字 ファイルパス
という使い方をします
$ grep www /etc/service
とすると、www を含む行を、/etc/service
の中から探します
これを
$ grep www /etc/service | grep tcp
とすれば
www と tcp を含む行を表示するようになります
iPod touch から SSH
iPod touch から、SSH接続するツールを購入しました
今回、実験に使ったのは、今年発売された iPod touch 4G です
今回、購入したのは
TouchTerm Pro
です
値段は 1000 円でした
操作マニュアルがすべて英語でかかれていますが
TouchTerm Pro SSH 登場
という記事に、簡単な説明がありましたので
これで充分操作できます
何度もログインするので
Connection の横に、+マークがありますので、
ここをクリックして、情報を登録しました
Connection Name には、接続先の名前を任意で記述するようです
Details のところになりますが
Server にローカルIPアドレス
Port には変更していないなら、空欄
UserName にログインユーザ名
でログインできます
ただ、公開鍵認証などで設定を買えていると
ある程度の設定が必要かもしれません
便利な使い方としては
ログインしてから画面の左端を1回クリックすると
矢印がでてきて、端末でよく使う、過去の
コマンドの入力履歴がでてきます
また、画面の左端を2回クリックすると
Altキーなどがでてくるので、ショートカットのように使えます
右側を1回クリックすると、コマンドの履歴や、Tabキーで
予測しているようなかんじで使えるようです
手のひらサイズでいろいろと使えるツールですので
今後、Android でも似たようなツールがでてくればおもしろくなりそうです
Windows から scp & ssh
ubuntu ,fedora をメインにつかっているのですが、
まれに Windows が必要なことがあります
今回、zip ファイルを展開しようとしたのですが、
なぜか unzip で回答できず、
参考ページをみても
Windows の lhaplus で解凍するように書いてあり、
ほかの解凍ソフトではバグが生じるとのことでしたので、
wine を使って解凍
もしくは
windows で解凍して
scp で転送
のどちらかになりました
今後 windows から必要なファイルを転送することもあるので
WinSCP
を参考に、WinSCP を導入し
さらに、便利な解凍ソフトのLhaplus を
Lhaplus
からダウンロードし、インストールしました
Windows は VMwarePlayer で使っていますが
さすがに、ライセンスの問題もあり、いくつも使えません
今後は、WINE について調べ、こちらにシフトしていこうと思います
ubuntu で VMware Player
ネットブックに入れた ubuntu 10.10 に VMware Player をインストールしました
以前書いた
VMware Player 3.0 ダウンロード
の記事を参考に、ソフトウェアをダウンロードし
ダウンロードしたファイルに
chmod 755 ./VMware-Player-3.1.2-301548.i386.bundle
で実行権限をつけます
あとは
sudo /VMware-Player-3.1.2-301548.i386.bundle
でインストールできます
Fedora の場合は管理者権限で一発ですが、ubuntu の場合、
基本的にはsudo コマンドでいろいろとインストールします
もっとも、ubuntu で su コマンドを使う場合
で管理者権限で作業できるようにすれば、
fedora のようにもできます
クリスマス休暇と閑散相場
日本より、海外のほうが、クリスマス商戦が
活発な気がします
次回の小売などの指標には、年間最大の売上が関係する
ことになります
もし、この結果が予想以上に悪い場合、
一気にリスク回避の流れになる可能性がありますので
用心しましょう
さて、12月はいつも閑散相場になります
以前聞いた話となりますが
ほとんどのファンド、金融関連で、すでに来年まで
在籍できる人たちは休暇となっているようです
逆に、数字を残さないと、来年はクビという人が
今の相場で頑張るようです
このため、メインプレーヤーはほとんどお休みとなり
これが閑散相場となる要因となります
こういう時期は、無理をしない程度に取引するほうが
無難です
いつもより、取引のロットを下げたり、あえて取引しないのも
ありです
このあたりで無理にポジションをつくり、つかえる資金を減らすより
来年の最初のイベントである雇用統計で頑張ったほうが
リスクは少ないと思います
最近は、中国の利上げ、原油高などもありますが
相場への影響は限定的です
むしろ。来年が勝負になるかもしれません
今年は、欧州で多くの債権が発行されました
入札がなんとか終わっていますが
これから返済が待っています
借り換え債でしのぐのか、それとも新に
国債を発行するのかはわかりませんが、この度に
問題は蒸し返しになります
クロス円はそれほど値動きはしませんが
ドルレートでは。豪ドルが最高値付近です
来年は決算期の3月による円高の可能性もあります
予想がはずれたときのためのストップを確実につけましょう
ネットブックへubuntu その2
ネットブックに ubuntu をインストールしましたが
これだけでは、不便です
まずは、端末でいろいろ操作するのに楽をするため
sudo apt-get install nautilus-open-terminal
でインストールします
基本的に、ubuntu は synaptics というパッケージマネージャーで
簡単にインストールできるのですが
実は、コマンドで行えるようになると、かなり洛になります
理由は単純で、Dropbox とシェルスクリプトを組み合わせたり
自宅サーバーに設定スクリプトを作っておいて
そこからファイルを持ってきて
後は簡単インストールということが
なれてくると可能になります
今回、購入したネットブックは用途としては
持ち運び可能な開発環境です
以前、ほかのネットブックを使っていたのですが
android の開発を行おうとしたら、エミュレータの
起動にかなりの時間がかかったり、
複数の処理や、仮想化環境で実験すると止まりますので
少しスペックをあげてみました
ちなみに、android や iPhone アプリなどの開発を
行い、お金を稼ぐこともできます
売上の7割が開発者に還元となるようなので
スキルアップ+収入アップを狙ってみるのもいいかもしれません
あとは、有料メルマガ発行というものもあります
よく知られるところでは、まぐまぐ
あたりですね
今後、必要なアプリのインストールなどを行っていこうと思います
ネットブックへubuntu
今回、持ち運びできるLinux がhほs欲しかったので、
ネットブックを購入し、プリインストールされていたWindows 7 を
消去し、すべての領域を Ubuntu 10.10 へ変更しました
今回、購入したのは
ネットブックにhにはには、光学ドライブがないため、今回はUSBメモリをつかtつかっt使って
インストールしました
まず、最初にデスクトップにいnいんsインストールしてある
ubuntu 10.10 を起動し、
「システム」>「システム管理」>「スタートアップディスクの作成」
でインストールするための ライブUSBを作成します
このときに、ISOイメージが必要になるので、
ubuntu-ja-10.10-desktop-i386.iso(CDイメージ)
をダウンロード
ダウンロード先は
ubuntu japanse tearm
これをダウンロードし、書き込みに使ったのは
です
今回は、Windows 領域を削除し、ubuntu のみで使いますので
BIOS 設定を変更します
電源を入れて、F2キーを押し、設定画面を開いて
起動する順番を
USBメモリを先頭にします
この状態で、まずはLive USB 状態で起動し、無線LAN機能がつかえることを
確認します
Linux に書き換えて、一番苦労したのがこの無線LAN機能です
認識していないと、自分でコンパイルしたり、ソースをダウンロード
したりといろいろと大変になります
周辺機器がもっとLinux に対応するようになってくれば
もっと普及するOSなのに、と思いますが、
今後に期待しましょう
何はともあれ、無事に認識していましたので、
ここからインストールします
なぜか、一度 Live 機能で起動した後に
再起動すると、USBから起動されませんでした
そのため、一度電源を落として、次に
もう一度 BIOS設定から行い、今度は
インストールを選択します
バージョンがすこし前になりますが
Ubuntu Tips/USBデバイスへのインストール/USBスタートアップ・ディスクを作成するには
に画像入りで説明が載っていました