Я устанавливаю метку времени в начальном блоке:
BEGIN {
timestamp = strftime("%Y%m%d%H%M%S");
}
Я больше не обновляю временную метку в остальной части скрипта. Я ожидаю, что временная метка не изменится, но это так.
Позже в сценарии я печатаю $0
в файл:
FNR>1{
#do some stuff
print $0 > "/mnt/data/logs/TEST_"timestamp".csv"
...
метка времени меняется, и он продолжает печатать в новый файл. . . TEST_1.csv, TEST_2.csv . . .
Он работает, как и ожидалось, с небольшим файлом, но когда я использую полный файл данных, он печатает несколько файлов.
timestamp
. Можете ли вы показать остальную часть кода? Что этоawk
? - person Etan Reisner   schedule 05.01.2016timestamp = strftime("%Y%m%d%H%M%S");
в блокFNR==1
с теми же результатами. Я не могу удалить весь начальный блок, так как устанавливаю там разделители. - person mackmama   schedule 05.01.2016FNR==1 { $1=$1 timestamp = strftime("%Y%m%d%H%M%S"); #print header print $0 > "/mnt/data/work/sl_output.csv" print $0 > "/mnt/data/logs/sl_fail_output_"timestamp".csv" next }
Я использую метку времени здесь и здесь:FNR>1 { print $0 > "/mnt/data/logs/sl_no_license_match_"timestamp".csv"
}` - person mackmama   schedule 05.01.2016