여기에 쉘 코드를 작성하고 싶습니다. 문제는 하나의 데이터 파일을 다른 새 파일에 여러 번 복사하고 싶다는 것입니다. 예를 들어: 파일 13000행의 데이터가 포함되어 있습니다. 이제 이 데이터를 다른 파일에서 여러 번 사용하고 싶습니다(파일 1 * 3 > 파일 2). 여기에 복사해 볼게요파일 1자료삼시간을 지정하고 다음 위치에 저장하세요.파일 2. 지금파일 2포함하다12000데이터 행.
감사해요.
답변1
루프를 좋아한다면:
for i in {1..3}; do cat file1 >> file2; done
[편집하다]
쉘 스크립트의 for 루프에서 n 값을 동적으로 제공하는 방법
이것을 넣어myCopyScript.sh
#!/bin/bash
for i in {1.. $3 }; do cat $1 >> $2; done
실행 가능하게 만들어라
chmod u+x myCopyScript.sh
그런 다음 다음과 같이 호출하십시오.
myCopyScript.sh file1 file2 4711
답변2
간단한 해결책
cat File1 File1 File1 > File2
답변3
#!/bin/sh
echo "Enter data file name or exact path:"
read f
echo "Enter new file name:"
read nf
echo "Enter how many times you want to copy:"
read n
for (( i=1 ; i<=$n; i++)); do
cat $f >> $nf ;
done
답변4
존재하다 tcsh
:
repeat 3 cat file1 > file2
zsh
repeat
명령(언어의 키워드) 도 있지만 다음이 필요합니다.
{repeat 3 cat file1} > file2
중괄호가 없으면 리디렉션은 반복되는 명령의 일부로 처리됩니다.