Ansible:命令在终端中工作,但不在Ansible中

Ansible:命令在终端中工作,但不在Ansible中,ansible,ansible-playbook,Ansible,Ansible Playbook,在终端上工作,但在我将其添加到ansible脚本时不工作 我最初试过: awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv 它不起作用。尝试了下面的文本,但找不到该文件 shell: cd Users/Virtual |awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv

在终端上工作,但在我将其添加到ansible脚本时不工作

我最初试过:

awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv 
它不起作用。尝试了下面的文本,但找不到该文件

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"
- hosts: localhost
  tasks:
    - shell: "awk 'FNR==1{print \"\"}{print}' *.txt > virtual.txt && mv virtual.txt virtual.csv"
      args:
        chdir: /Users/Virtual