добавьте новые строки в выводе команды .cshrc

[1187145]То есть называется расширение параметра:

$ find . -type d -exec mkdir -p ~/Desktop/heads/{}
$ find . -type f -name "*.ext" -exec sh -c "head -c 128 {} > ~/Desktop/heads/{}" \;
$3[1187884] - это ваша переменная, которая является третьим параметром скрипта/функции.

#[1187886] удалит самый короткий префикс переменной.

?[1187888] - это паттерн, который вы ищете (в данном случае это любой символ).

Поэтому в основном вы удаляете самый короткий префикс переменной с именем [1187511]3[1187512] до тех пор, пока не найдете паттерн.

В общем, мы можем рассмотреть:

Есть и другие варианты:

##[1187890] удалить самый большой префикс.

  • %[1187892] удалить самый короткий суффикс.

  • %[1187894] удалить самый большой суффикс.

  • Который можно комбинировать с другими шаблонами, например, для получения последнего поля строки CSV:

  • Заметьте, как мы удалили самый большой префикс при поиске шаблона "любой символ(ы), за которым следует запятая".[1187160].

2
25.04.2014, 22:40
1 ответ
[113990] В вашем подходе есть 2 проблемы. [12186]Первая - это то, что вы не цитируете вывод подстановок вашей команды. Когда вы это делаете, оболочка оболочки разбивает вывод на пробелы и передает каждое слово в качестве отдельного аргумента в [114483]echo[114484]. [114485]echo[114486] затем выводит все свои аргументы в одну строку.[114487]. Исправление заключается в том, чтобы цитировать замены ваших команд. Например:[12187]Вторая проблема в том, что вам вообще не нужен [114488]echo[114489] (или [114490]awk[114491]). Вы захватываете вывод команды в строку, а затем возвращаете его обратно без каких-либо манипуляций. Таким образом, [114492]echo[114493] не служит никакой цели.[12188]Превратите свой мини-скрипт в следующее:[12189]Я удалил [114735]awk[114736], так как он не делал ничего, кроме добавления строк. [12190] Есть и другие способы сделать это:[12191]
1
27.01.2020, 22:22

Теги

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