строки grep, запускающиеся с “1” в Ubuntu

Я нашел сценарий (обычно названный acd_funch.sh), который решил эту проблему для меня. С этим можно ввести cd -- видеть последние 10 каталогов, которые Вы использовали. Это будет выглядеть примерно так:

0  ~/Documents/onedir
1  ~/Music/anotherdir
2  ~/Music/thirddir
3  ~/etc/etc

Перейти в ~/Music/thirddir просто введите cd -2

Ссылки

Примечание: Этот сценарий был первоначально опубликован в статье бюллетеня Linux, которая доступна здесь: acd_func.sh - расширяет CD удара, чтобы сохранить, отобразить и получить доступ к истории посещаемых имен каталогов.

47
08.01.2013, 02:14
4 ответа

Ваше регулярное выражение не означает то, что Вы думаете, что оно делает. Это соответствует всем строкам, запускающимся (^) с одним (1) повторным нулем или больше (*) времена. Все строки соответствуют тому регулярному выражению. grep '^1' делает то, что Вы хотите.

69
27.01.2020, 19:34

Вы пробовали следующее?

 ls -1 | grep "^1"

Таким образом, удалите *, который в основном говорит grep, найдите нуль или больше происшествий ^1 выражение. Другими словами: соответствуйте строкам, которые запускаются с 1, или нет.

33
27.01.2020, 19:34

Хотя это не отвечает на Ваш вопрос, это - лучшее решение того, что, кажется, Ваша цель:

ls -ld 1*

Можно использовать шарик оболочки для списка всех файлов, которые запускаются с 1. Отметьте это * имеет другое значение в оболочке globbing, чем регулярные выражения.

13
27.01.2020, 19:34
  • 1
    Спасибо! +1. Как делает *, имеют другое значение в оболочке globbing и в регулярных выражениях? –  StackExchange for All 31.12.2012, 05:33
  • 2
    В шарике оболочки * подстановочный знак, означающий "0 или больше из любого символа". Значение regex объяснено в ответе otokan. –  jordanm 31.12.2012, 07:10

^1.* соответствует целой строке или столь же сказал выше, ^1 содержал строку в строке.

различные стили regex используют различные символы, представляющие символы, некоторые опции указывают, какой стиль Вы хотите. и различные варианты указывают, хотите ли Вы соответствовать целой строке, или просто части ее или целому входу как одна строка.

3
27.01.2020, 19:34

Теги

Похожие вопросы