我需要声明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
一些东西:
- 作为德罗伯特注意,语言和 Unix 平台区分大小写。
该
then
关键字仅与随附的if
.要简单地按命令运行,可以:将它们放在不同的行中:
diff workfile1.txt workfile2.txt wc workfile1.txt workfile2.txt
或者用分号分隔:
diff workfile1.txt workfile2.txt; wc workfile1.txt workfile2.txt
- 引号很重要。在某些事情上,您使用了漂亮的引号
”
而不是普通的引号("
)。不要使用文字处理程序(例如 MS Word 或 LibreOffice Writer)来编辑脚本。使用普通编辑器(如 Notepad++、gedit 等)或 IDE。 wc
如果未指定输出哪个,将列出单词、行和字符数。用于-w
限制字数:wc -w workfile1.txt workfile2.txt
- 我相信你认为“比较两个文件”和“找出两个文件之间的差异”是两个互不相关的事情。不,他们不是。您可以使用相同的命令来执行这两项操作。使用
cmp
或diff
。没有必要两者都使用。 - 合并两个文件的不同部分最好由
patch
, 和 来获取信息patch
, 您可以使用diff
。所以跳过cmp
这个。相关阅读:
我认为你应该从脚本编写初学者指南。