Комментирование в скрипте Bash

, если вы хотите отсортировать многомерный массив

, первый массив:

$results['total_quote_sales_person_wise']['quote_po'];

второй:

$results['total_quote_sales_person_wise']['quote_count'];

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

array_multisort($results['total_quote_sales_person_wise']['quote_po'],SORT_DESC, $results['total_quote_sales_person_wise']['quote_count'],SORT_DESC);
144
задан Martin Tournoij 1 May 2019 в 06:16
поделиться

4 ответа

Это будет иметь некоторые накладные расходы, но технически это действительно ответ на ваш вопрос:

echo abc `#Put your comment here` \
     def `#Another chance for a comment` \
     xyz, etc.

И, в частности, для конвейеров, есть чистое решение без накладных расходов:

echo abc |        # Normal comment OK here
     tr a-z A-Z | # Another normal comment OK here
     sort |       # The pipelines are automatically continued
     uniq         # Final comment

См. Вопрос о переполнении стека Как добавить строчный комментарий для многострочной команды .

189
ответ дан 23 November 2019 в 22:11
поделиться

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

Вы должны иметь возможность помещать строки комментариев между вашими командами

# output MYSQLDUMP file
cat ${MYSQLDUMP} | \
# simplify the line
sed '/created_at/d' | \
# create some newlines
tr ",;" "\n" | \
# use some sed magic
sed -e 's/[asbi]:[0-9]*[:]*//g' -e '/^[{}]/d' -e 's/""//g' -e '/^"{/d' | \
# more magic
sed -n -e '/^"/p' -e '/^print_value$/,/^option_id$/p' | \
# even more magic
sed -e '/^option_id/d' -e '/^print_value/d' -e 's/^"\(.*\)"$/\1/' | \
tr "\n" "," | \
# I hate phone numbers in my output
sed -e 's/,\([0-9]*-[0-9]*-[0-9]*\)/\n\1/g' -e 's/,$//' | \ 
# one more sed call and then send it to the CSV file
sed -e 's/^/"/g' -e 's/$/"/g' -e 's/,/","/g' >> ${CSV}
40
ответ дан 23 November 2019 в 22:11
поделиться

Как указал DigitalRoss, обратная косая черта в конце не требуется, если строка заканчивается на | . И вы можете помещать комментарии в строку, следующую за | :

 cat ${MYSQLDUMP} |         # Output MYSQLDUMP file
 sed '1d' |                 # skip the top line
 tr ",;" "\n" | 
 sed -e 's/[asbi]:[0-9]*[:]*//g' -e '/^[{}]/d' -e 's/""//g' -e '/^"{/d' |
 sed -n -e '/^"/p' -e '/^print_value$/,/^option_id$/p' |
 sed -e '/^option_id/d' -e '/^print_value/d' -e 's/^"\(.*\)"$/\1/' |
 tr "\n" "," |
 sed -e 's/,\([0-9]*-[0-9]*-[0-9]*\)/\n\1/g' -e 's/,$//' |   # hate phone numbers
 sed -e 's/^/"/g' -e 's/$/"/g' -e 's/,/","/g' >> ${CSV}
6
ответ дан 23 November 2019 в 22:11
поделиться

Обратная косая черта экранирует символ #, интерпретируя его как буквальный символ вместо символа комментария.

5
ответ дан 23 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

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