Сохранять вывод grep в переменную с разделителем

Будьте осторожны при использовании миллисекунд.

Date.getTime () возвращает миллисекунды и выполняет математическую операцию с миллисекундами, чтобы включить

  • Летнее время (DST)
  • , проверяя, имеют ли обе даты одно и то же время (часы, минуты, секунды, миллисекунды)
  • , убедитесь, что поведение разницы дней требуется: 19 сентября 2016 г. - 29 сентября 2016 г. = 1 или Разница в 2 дня?

Пример из комментария выше - лучшее решение, которое я нашел до сих пор https://stackoverflow.com/a/11252167/2091095 . Но используйте +1 для его результата, если вы хотите, чтобы все засчитанные дни.

function treatAsUTC(date) {
    var result = new Date(date);
    result.setMinutes(result.getMinutes() - result.getTimezoneOffset());
    return result;
}

function daysBetween(startDate, endDate) {
    var millisecondsPerDay = 24 * 60 * 60 * 1000;
    return (treatAsUTC(endDate) - treatAsUTC(startDate)) / millisecondsPerDay;
}

var diff = daysBetween($('#first').val(), $('#second').val()) + 1;

2
задан John Kugelman 13 July 2018 в 11:28
поделиться

3 ответа

Вы можете использовать awk с чем-то вроде этого:

OUT=$(awk '/bc/ {printf "%s##",$0};' file)

Это сохранит вывод в переменной $OUT.

$ awk '/bc/ {printf "%s##",$0};' file

Он работает, ища вхождения /bc/, а затем добавляя суффикс ##. Обратите внимание на использование printf вместо print, это потому, что print всегда добавляет и прерывает строку, а с printf %s## вы избегайте этого, $0 вернет полную строку.

0
ответ дан nbari 17 August 2018 в 13:04
поделиться

Ну, простое решение:

grep bc | tr '\n' '#' | sed 's/#/##/g'

Простая замена новой строки с помощью «#» с помощью tr, а затем заменить «#» на два «#» с помощью sed.

1
ответ дан Kamil Cuk 17 August 2018 в 13:04
поделиться
grep bc sample.txt | tr "\n" "#" | sed "s/#/##/g"

перевести новые строки в #, перевести 1 # на 2 ##

, вероятно, есть лучший способ, но это прекрасно работает. , .

1
ответ дан siloko 17 August 2018 в 13:04
поделиться
  • 1
    это сработало. Большое спасибо за быстрый ответ. – Anoop 13 July 2018 в 12:18
Другие вопросы по тегам:

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