Я работал над Linux box A, и я запускаю это:
grep '^\S*\s-' access_log
Это отображало некоторые строки, как и ожидалось.
Затем я перешел на машину B и я запустил точнота же команда.Но на этот раз это не сработало.
Мне пришлось запустить это, чтобы сделать то, что мне нужно:
grep '^[^ ]* -' access_log
Прежде чем преуспеть, я попробовал все это, но безуспешно:
grep '^\S* -' access_log
grep '^\S*\s-' access_log
grep -e '^\S* -' access_log
grep -E '^\S* ' access_log
Похоже, что машина B не понимает метасимволы \ S и \ s.
Оба блока работали: grep 2.5.1 и bash 3.2.25
Как это возможно?
Приветствия, Дэн