Я хочу повторить две переменные в одной строке.
Я хочу хранить 2015-03-04.01.Abhi_Ram.txt в переменной FILENAME и 10 в переменной COUNT и эхо их одновременно.Эхо несколько переменных в одной строке Bash
Sample.txt
2015-03-04.01.Abhi_Ram.txt 10
2015-03-04.02.Abhi_Ram.txt 70
Ниже код, который я придумал:
for line in `hadoop fs -cat sample.txt`
do
VAR="${line}"
FILENAME=`echo ${VAR}|awk '{print $1}'`
COUNT=`echo ${VAR}|awk '{print $2}'`
COUNT_DT=`date "+%Y-%m-%d %H:%M:%S"`
echo db"|"Abhi_Ram"|"record_count"|"${FILENAME}"||"${COUNT}"||"${COUNT_DT} >> output.txt
done
I want the output as:
дб | Abhi_Ram | record_count | 2015-03-04.01.Abhi_Ram.txt || 10 || отметка времени дб | Abhi_Ram | record_count | 2015-03-04.02.Abhi_Ram.txt || 70 || Отметка времени
I'm getting the output as:
дб | Abhi_Ram | record_count | 2015-03-04.01.Abhi_Ram.txt || || метка времени
дб | Abhi_Ram | record_count | 10 |||| метка времени
дб | Abhi_Ram | record_count | 2015-03-04.02.Abhi_Ram.txt |||| метка времени
дб | Abhi_Ram | record_count | 70 || || отметка времени
Может кто-нибудь Назовите меня тем, что мне не хватает?
Почему вы вычисляете дату внутри цикла, когда она не использует какую-либо переменную? Это делает вашу петлю намного медленнее/дороже, чем в противном случае, если бы вы вывели наружный вызов «date», чтобы произойти только один раз до начала цикла. –
Кроме того, если вы используете достаточно новый bash (4.1 или 4.2), для форматирования даты используется встроенная функция 'printf', при этом не используется внешняя команда' date'. –