LINUX.ORG.RU

Странности при выводе в переменную даты


0

1

Странности при выводе в переменную даты в формате date --date=«1 days ago» +%a' '%b' '%e И поиск в тексте по шалону, заданной переменной Есть скрипт

#!/bin/bash

dt1d_f1=`date --date=«1 days ago» +%a' '%b' '%e`

dt1d_f2=`date --date=«1 days ago» +%a' '%b'_'%e` file6=/usr/scr/1.log

date --date=«1 days ago» +%a' '%b'_'%e > 4.log

#Tue Dec 3 Выводит по одному пробелу

# Если же эту команду ввести в командной строке вывод будет уже другим # date --date=«1 days ago» +%a' '%b' '%e # Tue Dec 3 Здесь между Dec и 3 ДВА пробела

# Почему это происходит? Как мне добиться, чтобы между Dec и 3 было два пробела? # Это решается через sed, но как-то не красиво получается.

sed 's/\_/ /g' 4.log >> 5.log #Заменим символ _ на пробел

echo $dt1d_f2 | sed 's/\_/ /g'>3.log #выведем день, день недели и месяц sed 's/$/\«/g' 3.log > 4.log # добавим в начало и конец строки символ » sed 's/^/\«/g' 4.log > 5.log # добавим в начало и конец строки символ »

var1=`sed 's/^/\«/g' 4.log` echo $var1 #выводит “”Tue Dec 3” почему спереди две двойных кавычки, хотя # в файле 5.log по одной кавычке ”Tue Dec 3”

cat $file6 | grep $var1 | grep $dt1df4 | grep -v „timestamp“ > 7.log # почему-то не работает. Выдает #ошибку (см. текст ниже)

echo „Priehaly“

/usr/scr/ilb.sh „„Tue Dec 3“ grep: Dec: No such file or directory grep: 3“: No such file or directory Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information.

Почему cat | grep воспринимает эту переменную без кавычек? Если в командной строке задать тоже самое, все работает.

date --date="1 days ago" +"%a %b  %-d"
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.