Я хочу узнать слово, которое заканчивается на ()...Использование команды grep в linux.
grep file_name_where_i_want_to_search "*()"
что-то подобное .... но не работает
Я хочу узнать слово, которое заканчивается на ()...Использование команды grep в linux.
grep file_name_where_i_want_to_search "*()"
что-то подобное .... но не работает
Избегайте (), как это. если это в конце строки, вы должны использовать регулярное выражение (egrep)
egrep file_name_where_i_want_to_search ".*\(\)$"
$ cat <<EOF > test
foo bar
foo bar() baz
foo.bar() baz
foo bar baz()
foobarbaz() foo bar()baz
EOF
$ grep -o '\w\+()' test
bar()
bar()
baz()
foobarbaz()
bar()
-o
означает "печатать только совпадающие части", т.е. не всю строку\w
означает "символ в слове"\+
означает "предыдущий объект один или несколько раз"Итак, grep -o '\w\+()'
означает «напечатать все, что состоит из одного или нескольких символов слова, за которыми следует ()».
Это все равно будет соответствовать, например, части bar()
bar()baz
. Можно утверждать, что скобки фактически заканчивают слово, что делает bar()
«словом, оканчивающимся на ()». Я предполагаю, что это не проблема в вашем реальном случае использования в любом случае.