저는 C 쉘 사용자입니다.
두 개의 파일이 있습니다.
파일 1:
A
B
C
D
E
파일 2:
A
C
B
D
E
A-A
루프 비교 , B-C
, C-B
, , 을 사용하고 싶습니다 D-D
.E-E
for
문자열이 일치하면 "일치"를 인쇄합니다.
출력은 다음과 같습니다.
A A -> match
B C -> " "
C-B -> " "
D-D -> match
E-E -> match
루프를 어떻게 사용하나요 for
?
답변1
paste
다음은 이 명령을 사용하여 두 파일을 목록으로 구성하는 예제 스크립트입니다 .
A-A
B-C
...
그런 다음 결합된 각 문자열을 2개의 개별 부분으로 구문 분석하고 이를 변수 f1
sum 에 저장합니다 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 셸입니다.
예
$ ./cmd.csh
A A -> match
B C -> " "
C B -> " "
D D -> match
E E -> match