El patrón [a-z]*
coincide con cero o más caracteres en el rango a
az
(los caracteres reales dependen de la configuración regional actual ). Hay cero caracteres de este tipo al comienzo de la cadena 123 abc
(, es decir, el patrón coincide con ), y también cuatro de ellos al comienzo de this is a line
.
Si necesita al menos una coincidencia , use [a-z][a-z]*
o [a-z]\{1,\}
, o habilite expresiones regulares extendidas con sed -E
y use [a-z]+
.
Para visualizar dónde coincide el patrón, agregue paréntesis alrededor de cada coincidencia:
$ sed 's/[a-z]*/(&)/' file
()123 abc
(this) is a line
O, para ver todas las coincidencias en las líneas:
$ sed 's/[a-z]*/(&)/g' file
()1()2()3() (abc)
(this) (is) (a) (line)
Compare ese último resultado con
$ sed -E 's/[a-z]+/(&)/g' file
123 (abc)
(this) (is) (a) (line)
Изменение CWD может быть не единственным способом добиться этого, но архивные программы обычно извлекаются в CWD.
Вы также можете сделать программу незатронутой, переименовав каталог или изменив символические ссылки, которые будут частью аргумента пути, и вместо этого используйте ./
пути.
Вы также можете предотвратить размонтирование тома, сделав его частью CWD.
Если программу необходимо запустить в определенном каталоге, обычно для этого есть две возможные причины:
(Если программа сконфигурирована таким образом и не предпринимается никаких усилий для обеспечения правильной автоматической установки каталога перед запуском фактической программы, т.е. написав для него простой стартовый -сценарий, вы напрашиваетесь на ошибки.)
make
работает следующим образом :если вы запустите ее, она будет ожидать найти файл с именем Makefile
или makefile
в текущем каталоге, определяя зависимости между файлами и командами для запуска, если файл новее чем файлы, которые зависят от него. Это позволяет, среди прочего, разработчику сэкономить время, перекомпилируя только те части большой программы, которые были изменены с момента предыдущей сборки. (Современный GNU make
будет выполнять некоторые предварительно установленные -основные задачи даже без Makefile, но это очень ограниченный набор функций по сравнению с тем, что может быть достигнуто с помощью Makefile.)