皆様こんにちは。初めての方ははじめまして。
中途入社おじさんこと関口です。
最近急に気温が上がりましたね。
電車の乗り降りが多い私には、車内外の温度差が激しい現状はいささか辛いものがあります。
皆様もこの辛い気温に負けないよう、体調管理にはお気をつけ下さい。
<前振り>
さて、本文は著者が資格の取得の際に苦労した部分を紹介しております。
その他もろもろ私の記事の前提情報は
「関口」
とブログ内検索をして前の記事を呼んでいただければ幸いです。
<本題>
今回はフィルタコマンドについて一部ご紹介します。
フィルタコマンドとは端的にいうと、テキストを加工するコマンドのことです。
これらを使いこなすと、サーバ内のデータを綺麗にまとめたりできます。
エンジニアの立場で言えば、お客様に見せるデータを見やすい状態にしたり出来るわけです。
数が多いので複数回に分けてご紹介します。
今回は、LPIC101で出てくる中からcut、jion、pasteをご紹介しましょう。
cut
ファイルの各行から指定した文字の位置(何文字目)や
フィールド(下記の例を参照)を取り出すことが出来ます。
例えばとあるテキストファイル「a.txt」の中身が
-例①-「a.txt」01 2345 6789 1
だったとします。
文字位置を2文字目に指定して取り出すと、各行の2文字目だけが出力され
159
と表示されるわけです。(何文字目から何文字目といった指定もできます。1~3文字目とか)
他にも2番目のフィールドを指定した場合だと、
236710
になります。(2番目のフィールド =スペースで区切られた2番目の文字列が取り出されてます。)
join
2つのファイルから、共通のフィールドを持っている行を連結します。
例えばcutの例に挙げた例①「a.txt」ともう一つ下記の内容の「b.txt」 があるとしましょう。
-例②-「b.txt」01 abc45 def89 ghi
この二つのファイルの1番目のフィールドを指定して、joinを打つと
01 23 abc45 67 def89 10 ghi
といった具合にファイルの中身を連結することが出来ます。
paste
今回はこれが最後になります。
joinと少し似てますが、複数のファイルを読み込んで、それぞれの同じ行を連結するコマンドです。
例①「a.txt」と例②「b.txt」、と下記の例③「c.txt」を連結するとします。
-例③-「c.txt」ABC DEFGHI JKLMNO PQR
すると、同じ行同士が横に連結し、以下のようになります。
01 23 01 abc ABC DEF45 67 45 def GHI JKL89 10 89 ghi MNO PQR※「a.txt」「b.txt」「c.txt」の内容が順番に繋がっている。
ちなみに、今回紹介したコマンドは全て区切り文字(デリミタ)を指定することが可能です。
例えば「;」を区切り文字に指定してあげると、上述の結果が、
01 23; 01 abc; ABC DEF45 67; 45 def; GHI JKL89 10; 89 ghi;MNO PQR
になります。(※連結する際に区切りが出来ています)
さて、フィルタコマンドのご紹介はいかがでしたでしょうか。
後日またご紹介しますが、これらのコマンドと一緒に
sortやuniq等といったコマンドをあわせることで
重複する部分を1つにまとめたり並び替えたりして、
より見やすいファイルの内容にすることが出来るわけです。
その辺りは次回お話いたします。
次回もこの駄文をお読みいただければ幸いです。
今回はここまでです。
本文を最後までお読みいただき、ありがとうございました。
投稿者プロフィール
-
2016年2月入社の中途未経験おじさんです。
NY出張の際、スマートデバイスに目覚めたIT雑兵でもあります。
一通りのデバイスを購入した後に技適マークが無いことに気がついたと言う
悲劇のエピソードはいずれ語られるとか無いとか・・・
最新の投稿
- IoT2018年2月9日今更ながらスマートホーム化 ④Philips Hueで部屋の電気と連携 編
- IoT2018年2月9日今更ながらスマートホーム化 ③スマートリモコンを使おう 編
- ニューヨーク2018年2月9日NYに出店する和食を食べてみた。
- IoT2018年1月31日今更ながらスマートホーム化 ② IFFFTで連携 編