如何:使用bash将命令输出与文本文件进行比较

jlc*_*lin 2 linux bash diff ls

我正在尝试比较命令的输出

`ls -l directory` 
Run Code Online (Sandbox Code Playgroud)

使用我使用相同命令创建的文件.(我正在尝试一个穷人确保没有文件被修改过的方法.)

麻烦的是,我不知道如何使用我创建的文件diff输出ls命令.我尝试了以下,每次都不起作用

diff file.ls <(ls -l directory)
ls -l directory | xargs diff file.ls
ls -l directory | diff file.ls
diff file.ls < `ls -l directory`
Run Code Online (Sandbox Code Playgroud)

将输出与ls我已经保存的文件进行比较的神奇命令是什么?

jlc*_*lin 6

答案(后代)是做以下事情

diff file.ls <(ls -l directory)
Run Code Online (Sandbox Code Playgroud)

当我之前这样做时,输出是空白的.我以为我做错了; 实际上,目录和我的文件的内容没有区别.

<\捂脸>

  • 为了记录,您也可以这样做:`ls -l | diff - file.ls`.我不认为这在效率方面有显着差异,但除了"bash"之外,它对于贝壳更具可移植性...... (2认同)