Я хотел отображать только уникальные слова в качестве вывода. Как определить выражение grep?Показать все слово из строки
strings file.txt |grep (filter to display only whole words) | unique
Я хотел отображать только уникальные слова в качестве вывода. Как определить выражение grep?Показать все слово из строки
strings file.txt |grep (filter to display only whole words) | unique
cat file.txt | sed -e 's/\s\+/\n/g' | sort -u
Кошка покажет не строковый символ. Меня интересуют только строки. Поэтому я заменил вашу кошку командами строк. Серийная линия отображения с пространством. Мне нужно сломать линию, если она получит пространство и отобразится на весь мир. Пример строки «Hello world, basic» - ожидаемый результат: Hello, world ,, basic – jOSe
Бесполезное использование 'cat'. – Jahid
Похоже, вам нужно перевести "пробелы" в новой строкой:
strings file.txt | tr '[:blank:]' '\n' | sort -u
Да Мне нужно перевести пробел или вкладку в символы новой строки. Я пробовал вашу команду. Но он по-прежнему отображает пробелы в некоторой строке вывода – jOSe
Это должно работать:
s="sample word sample word samples"
echo "$s" |grep -oE "\b\w+\b"|sort -u
Выход:
sample
samples
word
Вы можете показать некоторые данные вашего файла file.txt? иначе мы не сможем дать правильный ответ. – Kent
команда strings будет извлекать весь строковый символ, я передаю результат команде grep, где я хотел получить результат всего целого слова [то есть., Если строка содержит больше места, слова между пространством должны отображаться]. Текстовый файл слишком большой, поэтому я не могу поделиться. Надеюсь, он объяснит ..! – jOSe
Вставьте некоторые данные, пожалуйста. Например. 'foo bar blah' и' foo, blah, bar! 'и' foo! бар. blah! 'разные. и ваша проблема связана не только с grep part, 'uniq' работает только для отсортированного файла. так, опять же, вставьте примеры входных данных, а также ожидаемый результат! – Kent