Linuxで単語を操作する5つのコマンド|出現回数カウント,検索,抽出,etc
こんにちは。
普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】
今回は、Linuxについての解説記事です。
本記事の内容
単語の出現回数をカウントするコマンド
wc -wコマンドを使うと、単語数を調べることができます。
echo 'This is a pen, and that is a pencil' | wc -w
この文章は9語とカウントされました。
[実行結果]
9
単語の検索するコマンド
grep -wコマンドを使うと、単語を検索することができます。
echo 'This is a pen, and that is a pencil' | grep -w pen
単語にヒットするので、penにヒットして最初の行が出力されますが、二行目のpencilにはヒットしません。
[実行結果]
This is a pen,
単語を抽出するコマンド
単語の検索の応用です。–color=autoを使うと、ヒットした単語を色付きで表示します。
echo 'This is a pen, and that is a pencil' | grep -w pen --color=auto
[実行結果]
This is a pen,
単語の置換・削除するコマンド
単語単位で置換と削除をするのは少し難しいです。Linuxの置換に使われるsedは単語を意識しないからです。
echo 'This is a pen, and that is a pencil' | sed -e 's/pen/xxx/g'
この例のように、penだけではなくpencilもヒットして置換してしまいます。
[実行結果]
This is a xxx,
and that is a xxxcil
^^^^^^
回避策
回避策は少々泥臭いです。
echo 'This is a pen, and that is a pencil' | sed -e 's/\([ |,]\)pen\([ |,]\)/\1xxx\2/g' -e 's/^pen\([ |,]\)/xxx\1/g' -e 's/\([ |,]\)pen$/\1xxx/g' -e 's/^pen$/xxx/g'
sedの機能では単語を理解できないため、自分で単語というものを定義しなくてはならなかったため、このように泥臭いコーディングになりました。
前後にスペースまたはカンマ、それ以外に先頭か末尾にpenという文字があれば置換を実行します。
[実行結果]
This is a xxx, and that is a pencil
置換ではなく削除する場合は、xxxを空文字に置き換えればOKです。
テキストを単語に切って処理をするbash構文
次のbashの構文を使って、単語単位にテキストを切って操作をします。
do
《処理》
done
単語単位にカッコで括って1行ずつ出力します。
for x in `echo 'This is a pen, and that is a pencil'` do echo "[$x]" done
実行結果は以下の通りです。
[実行結果]
[This] [is] [a] [pen,] [and] [that] [is] [a] [pencil]
今回は以上です。参考になりましたら幸いです。
Blog TOP Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ
Linux&Linuxコマンドを勉強したい人向けの記事もくじ
用語解説・技術一般
"UNIXとLINUX"の違いについて解説します
CUIとGUIの違い・特徴について解説します
サーバリソースを確認するコマンドの使い方
【Linux】CPU使用率を確認する3つの方法を解説します
【Linux】topコマンドで,CPU消費の原因を特定する方法
【Linux】ps実行時に-efオプションを付ける理由について
【Linux】メモリ使用率を確認する|容量・空きの確認も
【Linux】ディスク容量を確認する|ディスク容量監視も
ファイル操作に関するコマンドの使い方
【Linux】ファイルの行数をカウントする方法を解説
【Linux】文字コード変換ならiconvコマンド1択です
【Linux】/dev/nullを、エンジニアが使う2つの目的
【Linux】findのexecオプションの使い方とその注意点
【Linux】findの結果から圧縮ファイルを作るコマンド
【Linux】hostsの場所はどこ?→/etc/hostsにあります
【Linux】touchコマンドで,時刻更新&空ファイル作成
Linux管理者用コマンドの使い方
【Linux】再起動コマンド(shutdown)の使い方と注意点
よく使う便利なコマンドの使い方
【Linux】改行なしでechoコマンドを使う時の -nオプション
【Linux】sleepコマンドの使用例と注意点について解説する
【Linux】rmコマンドでディレクトリを削除する方法を解説
【Linux】ファイルを削除するコマンド2選【rm以外もあり】
【Linux】awkの区切り文字を指定する,-Fオプションを解説
【Linux】sedで文字列の置換をするeオプションを解説する
【Linux】dateコマンドのフォーマットとその便利な使い方
【Linux】大文字から小文字に変換する方法【小文字から大文字も】
シェルの便利機能
「今の会社を辞めて転職します。エンジニア職に強みのあるおすすめの転職サイト・転職エージェントを教えて欲しい。また好条件で転職するにはどうすれば良いですか?」こんな悩みに答えます。 ITエンジニアに強いおすすめの転職サイト・転職エージェント3選 転職成功には強くてニューゲームが条件。どうやって実現する?