ファイルのコレクションから単語の辞書を作成しようとしています。 1行に1つずつファイル内のすべての単語を印刷する簡単な方法はありますか?この例のように、重複を除去する-u
(uniquify)フラグと、その後ファイルから単語を抽出する
10
A
答えて
21
あなたはgrep
を使用することができます一言一言、大文字小文字を無視して、並べ替え、テキストファイルから抽出した単語 -
- は言葉だけ
# if you only want each word once % grep -o -E '\w+' temp | sort -u -f adipiscing amet brown consectetur dog dolor elit example examples for fox ipsum jumped lazy Lorem over quick rather sit Some text than The use
3
良いスタート単に(sed
再び)空白行を取り除く、改行ですべてのスペースを置き換えるためにsed
を使用することで、sort
:
$ echo "the quick brown dog and fox jumped
over the lazy dog" | sed 's/ /\n/g' | sed '/^$/d' | sort -u
and
brown
dog
fox
jumped
lazy
over
quick
the
次に、句読点などについて心配することができます。削除いくつかの句読点と
awk '{for(i=1;i<=NF;i++)_[$i]++}END{for(i in _) print i}' file
tr ' ' "\n" < file | sort -u
:あなたは一意たい場合は空白
awk '{for(i=1;i<=NF;i++)print $i}' file
または
tr ' ' "\n" < file
で区切られた単語を想定し
3
。あなただけ印刷する場合のみ
% cat temp Some examples use "The quick brown fox jumped over the lazy dog," rather than "Lorem ipsum dolor sit amet, consectetur adipiscing elit" for example text. # if you don't care whether words repeat % grep -o -E '\w+' temp Some examples use The quick brown fox jumped over the lazy dog rather than Lorem ipsum dolor sit amet consectetur adipiscing elit for example text
と一致する行の部分を印刷した単語
-o
ため
-E '\w+'
検索:awk '{ gsub(/["*^&()#@$,?~]/,"") for(i=1;i<=NF;i++){ _[$i] } } END{ for(o in _){ print o } }' file
0
Ken Church's "Unix(TM) for Poets" (PDF)は、アプリケーションのまさにこのタイプの記述を比較するときに一度
-f
がケースを無視するsort
を伝える各単語を印刷します
0
trコマンドでこれを行うことができます...
tr [:blank:] '\n' < test.txt
これは、trプログラムに空白を新しい行に置き換えるように要求します。出力はstdoutですが、それは別のファイル、result.txtにリダイレクトすることができます
tr [:blank:] '\n' <test.txt> result.txt
hereを参照してください。
関連する問題
- 1. ファイルから単語を抽出する
- 2. 単語とセクション(Python)からさらに20単語を抽出する
- 3. 単語辞書からの単語の抽出
- 4. Ruby:文字列から単語を抽出する
- 5. データの列から単語/情報を抽出するSQLクエリー
- 6. ドメイン名文字列から単語を抽出する方法
- 7. RのREGEX:文字列から単語を抽出する
- 8. C - 文字列から単語を抽出する
- 9. pdfから単語座標を抽出するライブラリ/ツール
- 10. JSoup:クラスタグ内から1単語を抽出する
- 11. スプレッドシートから辞書単語を抽出する
- 12. 単語ファイルの "Last updated by"プロパティを抽出する
- 13. 他の言語から単語を抽出する正規表現
- 14. 単語を含むPython抽出文
- 15. python - ウェブページから繰り返し単語を抽出し、ストップワードを削除する
- 16. PythonのWord文書(.docx)からハイライトされた単語を抽出する
- 17. javascriptの式から単語や文字を抽出しますか?
- 18. SWFファイルからビデオを抽出する
- 19. htmlファイルからテキストを抽出する
- 20. xmlファイルからNamespaceを抽出する
- 21. txtファイルからデータを抽出する
- 22. ファイルからビットマップを抽出する
- 23. zipからファイルを抽出する
- 24. PDFファイルからテキストを抽出する
- 25. SFSファイルからリソースを抽出する
- 26. XMLファイルからテキストを抽出する
- 27. 句読点を考慮してテキストから単語を抽出します
- 28. 数字を含む単語を抽出する正規表現
- 29. アンカーテキストを囲む単語を抽出する
- 30. Regexで文章中の単語を抽出する
特定のプログラミング言語が必要ですか? – mkmurray
@mkmurray、 "shell"、 "scripting"、 "unix"は通常、UNIXの標準的なボックス(awk、grep、sed、perl、cutなど)で利用できるツールを意味します。 – paxdiablo