Если Ваша оболочка использует readline (который имеет место для bash
) можно сделать что-то как нажатие ATL +. вместе?
последний аргумент рывка (M-. или M-_)
Вставьте последний аргумент предыдущей команде (последнее слово предыдущей записи истории). С аргументом ведите себя точно как энный аргумент рывка. Последовательные вызовы к последнему аргументу рывка пятятся через список предыстории, вставляя последний аргумент каждой строки в свою очередь.
Плоскость grep
не понимает \s
или круглые скобки. (*) Вы хотите grep -P
при наличии, или grep -E
/egrep
и запишите \s
как [ ^I]
(где ^I
Вкладка; grep
без -P
не понимает \t
любой). Кроме того, с двойными кавычками некоторые оболочки обработают \s
и оставьте позади просто s
; необходимо всегда использовать одинарные кавычки с regexes от оболочки, за исключением того, когда на самом деле необходимо интерполировать переменную (например, что-то как '^\s*'"$foo"'\s+\('
, переключение заключения в кавычки в середине параметра).
Альтернативы в Вашем втором примере (снова, с -P
и единственное заключение в кавычки вместо двойного), делают то же самое. Первый технически лучше потому что grep
не отследит в обратном порядке столько же, но практически это не будет иметь значения.
(*) педантизм: backslashed parens будет работать, снова требуя единственного заключения в кавычки, таким образом, оболочка не съест обратные косые черты. egrep
обычно легче.
)
и|
не односимвольные переменные, таким образом, оболочка не интерполирует$)
или$|
; и"\s"
расширяется до\s
, обратная косая черта в двойных кавычках сохраняется кроме прежде"$\`
. – Gilles 'SO- stop being evil' 17.04.2011, 21:02bash
двойные кавычки должны быть хорошо; это - все еще дурная привычка, которая может привести к проблемам в будущем, хотя).\s
не поддерживаетсяgrep -E
в любой версии GNUgrep
Я имею в наличии (проверил OSX и Индивидуалиста Ubuntu). Тем не менее я ожидал бы, что они будут вести себя то же (если неправильно), и они делают, таким образом, здесь. – geekosaur 17.04.2011, 21:21\s
.grep -c '\s' <<<' '
== 1. – Quolonel Questions 11.03.2015, 13:17