Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell Split选项将变量放在开头而不是末尾?_Shell_Variables_Split - Fatal编程技术网

Shell Split选项将变量放在开头而不是末尾?

Shell Split选项将变量放在开头而不是末尾?,shell,variables,split,Shell,Variables,Split,我有一个4700万行的文件,我想把它分成200万行的文件,但是文件名的结尾必须是相同的 split -l 2000000 test_F5.csfasta splitted_test_F5.csfasta 此拆分命令提供以下文件: 测试_F5.csfstaaa, 测试F5.csfstaab等 我想要这些文件: aatest_F5.csfasta, abtest_F5.csfasta等 split中是否有函数可以执行此操作,或者有其他方法可以解决此问题?要重命名这些拆分文件,请执行以下操作: 目前

我有一个4700万行的文件,我想把它分成200万行的文件,但是文件名的结尾必须是相同的

split -l 2000000 test_F5.csfasta splitted_test_F5.csfasta
此拆分命令提供以下文件: 测试_F5.csfstaaa, 测试F5.csfstaab等

我想要这些文件: aatest_F5.csfasta, abtest_F5.csfasta等


split中是否有函数可以执行此操作,或者有其他方法可以解决此问题?

要重命名这些拆分文件,请执行以下操作:

目前,这些文件是:

$ ls test*
test_F5.csfstaaa  test_F5.csfstaab
重命名文件:

$ for file in test_F5.csfsta*
> do
>   mv $file $(echo $file | sed 's/\(.*\)\(..\)/\2\1/')
> done
更名后:

$ ls *test_F5*
aatest_F5.csfsta  abtest_F5.csfsta

我认为此选项不适用于split命令…在split之后,由于新文件的数量较少(~24个文件),因此可以在split命令运行后重命名它们。对所有文件执行此重命名的最佳方法是什么?