다음과 같이 번호가 매겨진 많은 수의 파일이 있습니다. file_01_01.out
첫 번째 숫자는 파일이 속한 그룹이고, 두 번째 숫자는 해당 그룹에 있는 파일의 번호입니다. file_10_07.out
그룹 10의 파일 7에도 동일하게 적용됩니다.
이 파일의 일부 텍스트를 복사하여 일부 출력 파일로 그룹화하고 싶습니다. 이것을 사용해 보았으나 실제로 작동하지 않으며 이유를 모르겠습니다.
for i in {0..21};
do
grep "text" file_$i_*out > out_$i.txt;
done;
왜 이것이 작동하지 않는지 잘 모르겠지만 출력에는 확실히 논리가 있습니다. 이것은 내가 원하는 출력이 아닙니다. 일부 파일은 완전히 건너뛰었습니다.
답변1
(@Philippos 제외): Bash 가 $i_
대신 변수를 확장하려고 합니다 $i
....${i}_...
for i in {00..21}
do
grep "text" file_${i}_*out > out_$i.txt
done
답변2
귀하의 스키마는 확장되지만 file_1_
다음이 필요합니다.file_01_
사용for i in {00..21};