2016-07-07 115 views
1
awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv 

在終端上工作,但不是當我將其添加到一個可靠的腳本。Ansible:命令在終端工作,但不是Ansible

我想最初:

shell: cd Users/Virtual |awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv 

它沒有工作。嘗試下面的文本,它無法找到該文件

- command: chdir=/Users/Virtual awk 'FNR==1{print ""}{print}' *.txt > virtual.txt  
    - shell: "awk 'FNR==1{print ''}{print}' *.txt > virtual.txt" 
    - shell: "mv virtual.txt /Users/virtual.csv" 

回答

1

不知道爲什麼你嘗試從管一個命令的輸出到另一個...
您通常需要使用&&||後執行多個命令一個另一個。
請嘗試這一個:

- hosts: localhost 
    tasks: 
    - shell: "awk 'FNR==1{print \"\"}{print}' *.txt > virtual.txt && mv virtual.txt virtual.csv" 
     args: 
     chdir: /Users/Virtual 
+0

它的作品謝謝! – ehuck