比较文件的 If 语句

比较文件的 If 语句

我需要声明if一下:

  • 比较文件
  • 发现它们之间的差异
  • 获取两个文件的字数
  • 将信息从一个文件粘贴到另一个文件

但我不知道我这样做是否正确。这是我的代码:

If [ "$DECISION" == "a" ] || [ "$DECISION” == "A" ]; then
  Cmp workfile1.txt workfile2.txt  
elif [ "$DECISION" == "b" ] || [ "$DECISION” == "B" ]; then
  diff workfile1.txt workfile2.txt then
  wc workfile1.txt workfile2.txt then
  paste workfile1.txt workfile2.txt
fi

答案1

一些东西:

  1. 作为德罗伯特注意,语言和 Unix 平台区分大小写。
  2. then关键字仅与随附的if.要简单地按命令运行,可以:

    • 将它们放在不同的行中:

      diff workfile1.txt workfile2.txt
      wc workfile1.txt workfile2.txt
      
    • 或者用分号分隔:

      diff workfile1.txt workfile2.txt; wc workfile1.txt workfile2.txt
      
  3. 引号很重要。在某些事情上,您使用了漂亮的引号而不是普通的引号(")。不要使用文字处理程序(例如 MS Word 或 LibreOffice Writer)来编辑脚本。使用普通编辑器(如 Notepad++、gedit 等)或 IDE。
  4. wc如果未指定输出哪个,将列出单词、行和字符数。用于-w限制字数:wc -w workfile1.txt workfile2.txt
  5. 我相信你认为“比较两个文件”和“找出两个文件之间的差异”是两个互不相关的事情。不,他们不是。您可以使用相同的命令来执行这两项操作。使用cmpdiff。没有必要两者都使用。
  6. 合并两个文件的不同部分最好由patch, 和 来获取信息patch, 您可以使用diff。所以跳过cmp这个。相关阅读:

我认为你应该从脚本编写初学者指南

相关内容