次のファイルがあります:main.txt
/F/FID/FID/000001/0/20180215//1/2/
/F/FID/FID/000002/0/20180215//1/2/
/F/FID/FID/000003/0/20180215//1/2/
/F/FID/FID/000004/0/20180215//1/2/
/F/FID/FID/000005/0/20180215//1/2/
/F/FID/FID/000006/0/20180215//1/2/
私はsedを使用して2行ごとに新しいファイルを印刷するのが好きです。
ファイル1.txt
/F/FID/FID/000001/0/20180215//1/2/
/F/FID/FID/000002/0/20180215//1/2/
ファイル2.txt
/F/FID/FID/000003/0/20180215//1/2/
/F/FID/FID/000004/0/20180215//1/2/
ファイル3.txt
/F/FID/FID/000005/0/20180215//1/2/
/F/FID/FID/000006/0/20180215//1/2/
答え1
簡単sed
ではありませんが
awk 'NR%2 {fname = sprintf("file%d.txt", ++n)} {print > fname}' main.txt
与える
head file*.txt
==> file1.txt <==
/F/FID/FID/000001/0/20180215//1/2/
/F/FID/FID/000002/0/20180215//1/2/
==> file2.txt <==
/F/FID/FID/000003/0/20180215//1/2/
/F/FID/FID/000004/0/20180215//1/2/
==> file3.txt <==
/F/FID/FID/000005/0/20180215//1/2/
/F/FID/FID/000006/0/20180215//1/2/
または、
split --lines=2 --numeric-suffixes=1 --suffix-length=1 --additional-suffix='.txt' main.txt 'file'
(これらのオプションの一部はGNUバージョンに固有のものですsplit
。)