除外リストにある文字を含む行を削除する方法「シェルスクリプト」
アカウント・ディレクトリ等の一覧のをファイルが有り、そのファイル内で特定の文字を含む行を削除したい場合は、「sed」コマンドを利用すればできます。
その削除したい文字列を除外リストのようなファイルにある場合は、while read line を利用して除外リストのファイルを読み込み「sed」コマンドで該当行を削除して上書き保存すれば削除できます
# 都道府県がローマ字表記で表示されたファイルがあります $ cat test.txt hokkaido aomori iwate miyagi akita yamagata fukushima ibaraki tochigi gunma saitama chiba tokyo kanagawa niigata toyama ishikawa fukui yamanashi nagano gifu shizuoka
下記にある都道府県は、都道府県は一覧リストにある場合は一覧リストより除外(削除)して表示したいです
$ cat exclude.txt ibaraki gunma chiba kanagawa niigata ishikawa
その場合は、while read line を利用して除外リストのファイルを読み込み「sed」コマンドで該当行を削除して上書き保存すれば削除できます
#!/bin/bash while read line do echo $line sed -i -e "/$line/d" test.txt done < exclude.txt
ディスカッション
コメント一覧
まだ、コメントがありません