ファイル内のすべての小文字の単語のリストを取得しようとしています。これまで、コマンドラインを使用してリストを取得するポイントに達しました。
cat filename.txt | tr ' ' \\n | grep -w '[[:lower:]]*' | sort -u | less
ただし、このコマンドはリストからアルファベット以外の文字を削除せずに、リストからアルファベット以外の文字を削除します。フォームを含むリストを受け取ります。
(which
(which,
about
about,
about.
about:
about;
about?
which
私はテキストだけで行われた行に興味があります。同様の行コマンドを使用してどのように取得できますか?
答え1
POSIX的に:
tr -s '[:blank:]' '[\n*]' <file | grep -xE '[[:lower:]]+'
答え2
あなたのため:
sed 's/[^A-Za-z]\+/\n/g;s/$/\n/;s/[^\n]*[A-Z][^\n]*\n//g;s/\n$//' <input_file | sort -u
答え3
私はしばらくしてこの質問に戻り、記録のためにこれを実行する固定コマンドを表示したいと思いました。
tr -s '[:blank:]' '[\n*]' < filename.txt | grep -wo '[[:lower:]]*' | sort -u | less -N