Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
排序和创建Unix文件_Unix - Fatal编程技术网

排序和创建Unix文件

排序和创建Unix文件,unix,Unix,我在Unix中有一个数据文件,其中包含以下记录: 一, 二, 三, 四, 五, 六, 我将传递一个参数,根据该参数创建新文件。例如,如果参数值为2,则新文件将为: 1 2 34 5.6 同样,如果parm为3,则: 1 2 3 4 5 6 有人能给我一些提示怎么做吗 谢谢, 维萨克 在命令行上,指定2作为测试参数: $ formatter.pl 2 < testData.txt 1 2 3 4 5 6 $formatter.pl 2

我在Unix中有一个数据文件,其中包含以下记录:

一,

二,

三,

四,

五,

六,

我将传递一个参数,根据该参数创建新文件。例如,如果参数值为2,则新文件将为:

1 2

34

5.6

同样,如果parm为3,则:

1 2 3

4 5 6

有人能给我一些提示怎么做吗

谢谢, 维萨克

在命令行上,指定
2
作为测试参数:

$ formatter.pl 2 < testData.txt
1 2
3 4
5 6
$formatter.pl 2
您可以使用以下perl单行程序:

perl -e "map chomp, @a=<>; print join(' ', splice @a,0,2).$/ while @a;" <(seq 6)
# 1 2
# 3 4
# 5 6

perl -e "map chomp, @a=<>; print join(' ', splice @a,0,3).$/ while @a;" <(seq 6)
# 1 2 3
# 4 5 6

perl-e“map chomp,@a=;print join(“”,splice@a,0,2)。$/while@a;”谢谢Alex,但我正在尝试将此逻辑合并到一个shell脚本中,该脚本包含其他语句和DB查询。我会在那边试试,看看效果如何。谢谢againHi Alex,如果不使用Perl,您有什么建议吗?您可以使用我提供的代码来学习用您选择的语言编写脚本。这是一个非常简单的过程。如果您写了一些东西,请随意编辑您的问题,如果您愿意,我们可以帮助您解决问题。
$ formatter.pl 2 < testData.txt
1 2
3 4
5 6
perl -e "map chomp, @a=<>; print join(' ', splice @a,0,2).$/ while @a;" <(seq 6)
# 1 2
# 3 4
# 5 6

perl -e "map chomp, @a=<>; print join(' ', splice @a,0,3).$/ while @a;" <(seq 6)
# 1 2 3
# 4 5 6
n=3
perl -e "map chomp, @a=<>; print join(' ', splice @a,0,$n).$/ while @a;" <file>