*

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

###

 

関連記事

自作PC 匠の技 / 窪田 丞

自作PC 匠の技 窪田 丞 毎日コミュニケーションズ 2003-09 売り上げラ

記事を読む

WSH で初めてのプログラミング

* DOS 時代から愛用している「知子の情報」という文書データベースソフトで、いくつもファイル

記事を読む

【ヤフオク】NEC PC-MK32LEZCB Mate ME-B Win7 Core i3 550 3.20GHz 4GB 160GB■1週間保証 落札

大手の中古業者 CycleHit By UsedNet さんからヤフオクで落札。 完動

記事を読む

日経Linuxが廃刊

日経の出している雑誌「日経Linux」がついに休刊(≒廃刊)となりました。 25年の歴

記事を読む

Ubuntu14.04LTS 32ビット版 インストールしてみた(3)

* インストールしたマシンは DELL Vostro200(ヤフオクでの中古)のスリムケース版

記事を読む

久々の回線トラブル

今朝早起きして残した仕事を片付けてから出勤しようと思ったら、自宅の PCがネットにつながらない。

記事を読む

Vostro3800スリムタワー到着

DELL の年末在庫一掃セールが始まりました。特に法人は税金対策のためパソコンでも買っておこ

記事を読む

HP製27インチモニタ V27ie G5 FHD

「2024年4月9日27インチPCモニタ注文」の続きです。 ヒューレットパッカード製の

記事を読む

プリンタ HP ENVY 5542 半死

年賀状を刷り始めた途端に、プリンタ HP ENVY 5542 が半死状態に。 A4 などの紙に

記事を読む

DELL DIMENSION 9200 1台め Windows 7 インストール

3台ヤフオクで仕入れた DELL DIMENSION 9200 の1台めです。 CP

記事を読む

Message

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

AIPI, CEPI, FEPI の3つの ETF の今回の配当は激減?

AIPI の今回の配当がすごく減りました。 今回が過去最

ChatGPT はじめてのプロンプトエンジニアリング / 本郷 喜千

< アマゾンで購入 ★★★☆☆(読みやすい) AI をチャット

Dynabook B55 i5-6200U 8GB+128GBSSD ノートパソコン

 >アマゾンの商品ページ 本日朝注文したら、夕方に届きました。

【AI】Nano Banana2 に無茶振り (2) ねぶた祭り

前回の続きで、以前からやってみたかったことを やってみた。 「青

【AI】Nano Banana2 に無茶振り

Gemini にビルトインされている Nano Banana2 という

→もっと見る

  • 2026年6月
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
  • アクセスカウンター
PAGE TOP ↑