お馬の写真 別館

「お馬の写真」管理者による徒然なるブログ

言語処理100本ノック 2015 第2章 10〜14

   

言語処理100本ノック 2015」の「第2章: UNIXコマンドの基礎」、10〜14。

10. 行数のカウント

行数をカウントせよ.確認にはwcコマンドを用いよ.

単純にカウントアップするだけのプログラムにしてみました。

 

11. タブをスペースに置換

タブ1文字につきスペース1文字に置換せよ.確認にはsedコマンド,trコマンド,もしくはexpandコマンドを用いよ.

これも単純に1行ずつ読みながら、タブ文字からスペースにreplaceするだけのプログラムにしてみました。

 

12. 1列目をcol1.txtに,2列目をcol2.txtに保存

各行の1列目だけを抜き出したものをcol1.txtに,2列目だけを抜き出したものをcol2.txtとしてファイルに保存せよ.確認にはcutコマンドを用いよ.

課題ではファイル名を固定にしていますが、ファイル名はコマンドラインパラメータで設定するようにしてみました。

 

13. col1.txtとcol2.txtをマージ

12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ.

これもコマンドラインでファイルを指定できるようにしてみました。

args.infile1、args.infile2からファイルを読み込んでいますが、改行が入った状態になっていたので、rstripを使って改行文字を削除しています。

14. 先頭からN行を出力

自然数Nをコマンドライン引数などの手段で受け取り,入力のうち先頭のN行だけを表示せよ.確認にはheadコマンドを用いよ.

これは極めて単純な実装です。

 
とりあえず今日はこんなところで。

 - プログラミング