我有一个包含以下内容的文件:
# new file
text in file 1
# new file
text in file 2
# new file
text in file 3
这里的模式是# new file
。
我没有将每个文件保存到 xx00、xx01 和 xx02,而是保存到特定文件:another file
、file new
、last one
。
这3个文件存在于当前目录中,所以我想将它们作为数组提供,覆盖它们:
csplit -z infile '/# new file/' "${array[*]}"
可以直接提供数组
array=('another file' 'file new' 'last one')
echo ${array[*]}
another file file new last one
或者列出当前目录
array=($(find . -type f))
echo ${array[*]}
./another file ./file new ./last one
对此脚本的修改可能是解决方案:
awk -v file="1" -v occur="2" '
{
print > (file".txt")
}
/^\$\$\$\$$/{
count++
if(count%occur==0){
if(file){
close(file".txt")
++file
}
}
}
' Input_file