Что является более быстрым способом извлечь год из имен файлов, чтобы переместить их в каталоги на основе года, чем мой нынешний подход к использованию `cut` и` rev`?

Не должно быть никакой разницы между командами. Они обе работают одинаково:

$ set -x  ## turn on debugging info

$ /bin/grep ^'\<that\>' file.txt
+ /bin/grep '^\<that\>' file.txt

$ /bin/grep '^\<that\>' file.txt
+ /bin/grep '^\<that\>' file.txt

Как вы можете видеть выше, в обеих версиях выполняется одно и то же.

Тем не менее, как правило, всегда безопаснее хранить все регулярное выражение внутри кавычек, поэтому используйте:

/bin/grep '^\<that\>' file.txt

Хотя в этом случае это не имеет значения, это имеет огромное значение, если ваше регулярное выражение включает знак, значимый для оболочки. Например:

grep ;'foo' file

Здесь оболочка интерпретирует ; как управляющий символ и запускает две команды: grep (без аргументов) и 'foo' file .

3
11.10.2017, 19:39
0 ответов

Теги

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