*

sed で連続した複数の空行を1つにまとめる

公開日: : 最終更新日:2014/07/16 パソコン

前日の記事「 WSH で初めてのプログラミング 」で行った作業ですが、ちょっと不満があったのでやり直し。

プログラムではなく、データ自体の問題。

6000以上ある個別のテキストファイルのうちのかなりのものが重複しているのですが、改行が1つ余分に入っているだけで同じファイルとは認識されず、ほぼ同じデータが最終データに大量に混入します。

そこでまたいろいろ考えたのですが、たしか sed(ストリームエディタ)で昔やったことがあるな、と。

sed マニュアル

調べてみるとありました。

/^$/{
N
/^\n$/D
}

 

上の sed 用コマンドで、複数個の連続した改行(空の行)を1つに縮められます。

> sed –f commandfile < file1 >file2

の書式を使って簡単に終了。

もちろん1個1個こんなことはしておらず、DOS用のsedコマンドを使ったためバッチファイルと組み合わせて一括で処理してしまいました。

前日の結果よりも 500個近い重複ファイルが排除され、ずいぶんスリムになりました。

上は DOS で行ったのでめんどくさいですが、Linux なら sed  も標準で装備していますし、強力なシェルスクリプトもありますので、もっと簡単。

上の sed 用コマンドを commandfile というファイルにしておいて次のようなシェルスクリプトを端末から走らせれば、テキストファイルが 6000個だろうと 6000万個だろうと一発ですんでしまいます。

 

#!/bin/bash

shori_files=”$(find /tmp/shorizen -name *.txt)”
for file in $shori_files
do
    sed -f commandfile < $file >  /temp/shorigo $file
done

###

 

関連記事

寒いとパソコンが起きてくれません

寒くなるとパソコンの起動が遅くなったりしませんか? それは故障ではありません。 * うちのパ

記事を読む

Linux で MetaTader4 を動かす

この前から FX で自動売買させている Windows パソコンが2台とも勝手に再起動するようになっ

記事を読む

DELL Optiplex 740 Athlon64X2 3800+ ミニタワー動作品

* 本日ゲット。2300円。 動作確認済みです。スペックは CPU……Athlo

記事を読む

NTTの回線1つでインターネット回線2本を引く方法

* 常識だと思っていましたが、意外と知られていないので書きます。 NTTの回線 1つで、電話

記事を読む

Acer ディスプレイ EB321HQUBbmidphx とってもキレイ

Acer モニター ディスプレイ EB321HQUBbmidphx 31.5イン

記事を読む

【ヤフオク】Win10☆自作945CGT-M/E5800/QuadroFX580☆動作品ジャンク 落札

capibara2007さんから 2650円で落札。 ◎動作確認済みですが、もともと全て地

記事を読む

HLDS 日立LG製 内蔵 5インチ Blu-ray ブルーレイ ドライブ BD/DVD/CDライター ソフト付 BH14NS58 BK

BH14NS58 BK(HLDS 日立LG製 内蔵 5インチ Blu-ray ブルーレイ ドライブ

記事を読む

崎ともう一つのサキ

齊齋斎斉・・・ この前、サイトウさんの「サイ」の字は25文字もある、とTV 番組でやっておりま

記事を読む

パソコンの騒音 / Pentium4マシン

* 私の仕事場(大津)にはまだ1台ずつ Pentium4 マシンが残っています。 Windo

記事を読む

Dimension3100C

  * この前、ヤフオクで 900円で落とした中古パソコン。 2005年の秋

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

経済で読み解く世界史 / 宇山卓栄

★★★☆☆ 宇山先生の最新刊。 古代史から現代史までを

2025-7-23 日米関税交渉成立

日米関税交渉が成立したとのことで、本日は日経平均が一時 1500円ほど

だいじょうぶか? Windows11

先日、院内の遠隔用読影端末の1つを Windows10 から Wind

コンタクトレンズ到着

昨日朝に注文していたハードコンタクトレンズが郵送されました。 早

2025-7-20 参院選

本日の参院選の結果です。 23:40 現在、開票が進行中で、

→もっと見る

  • アクセスカウンター
PAGE TOP ↑