我是 C shell 用户。
我有两个文件。
文件1:
A
B
C
D
E
文件2:
A
C
B
D
E
我只想使用循环比较A-A
, B-C
, C-B
, D-D
, 。E-E
for
如果字符串匹配,则打印“match”。
输出如下:
A A -> match
B C -> " "
C-B -> " "
D-D -> match
E-E -> match
我该如何使用for
循环?
答案1
下面是一个示例脚本,它使用该命令paste
将两个文件整理到一个列表中:
A-A
B-C
...
然后,它将每个组合字符串解析为 2 个离散部分,并将它们存储在变量f1
和中f2
。
#!/bin/csh
foreach i (`paste -d"-" file1 file2`)
set f1=`echo $i | cut -d"-" -f1`
set f2=`echo $i | cut -d"-" -f2`
if ($f1 == $f2) then
echo "$f1 $f2 -> match"
else
echo "$f1 $f2 -> "'" "'
endif
end
其余代码是标准 C shell。
例子
$ ./cmd.csh
A A -> match
B C -> " "
C B -> " "
D D -> match
E E -> match