我有两个文件,其中一些行已更改顺序.我希望能够比较这些.
一个网站建议看起来像这样:
diff <(sort text2) <(sort text1)
Run Code Online (Sandbox Code Playgroud)
但这会产生错误:缺少重定向的名称.
我正在使用tcsh.上面的命令是针对不同的shell吗?
有没有更好的办法?
Dav*_*itt 52
此重定向语法是特定于bash的.因此它在tcsh中不起作用.
您可以调用bash并直接指定命令:
bash -c 'diff <(sort text2) <(sort text1)'
Run Code Online (Sandbox Code Playgroud)
haj*_*mie 13
这是一个功能:
function diffs() {
diff "${@:3}" <(sort "$1") <(sort "$2")
}
Run Code Online (Sandbox Code Playgroud)
像这样称呼它:
diffs file1 file2 [other diff args, e.g. -y]
Run Code Online (Sandbox Code Playgroud)
据推测,如果有必要,你可以根据David Schmitt的回答改变它.
如果这对您的 shell 不起作用,只需在 3 行中执行:
sort text1 > text1.sorted
sort text2 > text2.sorted
diff text1.sorted text2.sorted
Run Code Online (Sandbox Code Playgroud)
简单但应该工作......
有没有更好的办法?
就在这里。
使用comm工具:
用法:comm [-123i] file1 file2
| 归档时间: |
|
| 查看次数: |
37920 次 |
| 最近记录: |