Странности при выводе в переменную даты в формате 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 воспринимает эту переменную без кавычек? Если в командной строке задать тоже самое, все работает.