답변:
이를위한 앱이 있습니다!
$ cat file1
file1 line1
file1 line2
$ cat file2
file2 line1
file2 line2
이제이 파일들을 인자로 전달하면 paste
:
$ paste -d' ' file1 file2
file1 line1 file2 line1
file1 line2 file2 line2
"file1 첫 번째 줄 뒤에 file2 첫 번째 줄, file1 두 번째 줄 뒤에 file2 두 번째 줄 등"이 붙은 경우 붙여 넣은 각 줄 사이에 새 줄이 필요하다는 것을 의미합니다. 단순히 -d
구분 기호 옵션을 조정하십시오 .
$ paste -d'\n' file1 file2
file1 line1
file2 line1
file1 line2
file2 line2
빠른 배쉬 솔루션
# Takes as many file arguments as needed
function InterleaveFiles {
local counter=0
local hasLine=true
while [ $hasLine == true ]; do
hasLine=false
for i in "$@"; do
line=$(awk 'NR == num_line {print; exit}' num_line=$((counter+1)) "$i")
if [ -n "$line" ]; then
echo "$line"
hasLine=true
fi
done
counter=$((counter+1))
done
}
인터리브 파일 file1 file2 file3 file4
paste -d '\n' file1 file2 > file3
입력 파일의 위치 file1
와 위치 는 생성 된 출력이됩니다.file2
file3
printf "%s", ((ch < ARGC - 1) ? $0 FS : $0 RS)