2013-10-10 1 views
1

У меня есть скрипт bash, который отлично работает с двумя операторами awk, и я могу визуализировать выходы в консоли для оператора , но когда я хочу сохранить результат в одном файл, я могу получить только один (он выглядит как гонка, иногда результат инструкции 1 иногда хранится в результате утверждения 2). Мой код как этотхранить результат нескольких операторов awk в том же файле

awk -F "," ' 

    BEGIN { 

    print" ===================================================================== " 
          {printf "%80s\n", "Table 1" } 

    print"======================================================================= " 


    } 

##process table 1 

END { 

print " ####### END TABLE 1 ##################\n\n\n " 
} ' >file.txt 

###### 2nd statement 

    awk -F "," ' 

    BEGIN { 

    print" ====================================================== " 
        {printf "%80s\n", "Table 2" }                  
print"========================================================== " 

} 

##process table 2 

END { 

print "################END TABLE 2 ######################3 \n\n\n " 
} ' >file.txt 
+1

Возможный дубликат [Как добавить вывод в конец текстового файла в SHELL Script?] (Http://stackoverflow.com/questions/6207573/how-to-append-output-to-the-end-of-text -file-in-shell-script) –

ответ

1

Чтобы добавить вывод команды Баш к существующему файловому использованию >>

#each time create a new file.txt 
echo test1 > file.txt 
echo test2 > file.txt 

#if file.txt does not exists, behave like >, otherwise append to it 
echo test3 >> file.txt 

more file.txt 
>> test2 
    test3 
1

Ваш второй один должен добавить файл на >>, не переписывая его >

Итак:

awk 'this is first awk' > file.txt 
awk 'this is second awk' >> file.txt 
+0

Спасибо за помощь! – Ben

Смежные вопросы