比较文本和csv文件的内容

时间:2014-03-12 18:11:43

标签: sed awk diff

我需要一个示例bash脚本来比较文件的第一行(Result.txt)和另一个文件的第一行和列(table.csv),然后将结果发送到html文件。

我在编码方面非常基础,这是我到目前为止所发现的:

#!/bin/sh
Result.txt="$(head -n 1 < $1|tail -n 1)"
table.csv="$(head -n 1 < $2|tail -n 1)"
test "$R.txt" = "$sheet.csv" && (echo The same; exit 0)

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

略微调整你的剧本。

#!/bin/bash
Res=$(head -n 1 "$1")
tab=$(head -n 1 "$2")
[[ $Res == $tab ]] && echo The same

注释

  • &#34;点&#34;不是有效的标识符(即变量名称)字符:有效的是字母,数字和下划线,第一个字符不能是数字。
  • 如果您正在执行head -1,则无需将其输入tail -1
  • 我认为[[test更具可读性,主要是因为[[强迫您拥有]]
  • 括号启动一个子shell,对于echo语句来说是过度的。
    • 退出只会退出子shell而不是程序
    • 如果您有多个语句,请使用if ...; then ...; fi - 它更具可读性。