我在Linux CLI上有点无用,我试图运行以下命令来随机排序,然后拆分一个带有输出文件前缀的文件' out' (一个输出文件将有50行,另一个输出文件将包含其余部分):
if(polyLayer)
{
map.removeLayer(polyLayer); // remove the old polygon...
}
polyLayer = L.geoJson(data, {filter: layerFilter}).addTo(map); // ...then add the new polygon
我收到错误
sort -R somefile | split -l 50 out
这可能是因为split的第三个参数应该是它的输入文件。如何将排序结果传递给分割? TIA !!
答案 0 :(得分:5)
将-
用于stdin:
sort -R somefile | split -l 50 - out
来自man split
:
将固定大小的INPUT输出到PREFIXaa,PREFIX,...;默认大小为1000行,默认PREFIX为“x”。没有 INPUT,或当INPUT为 - 时,读取标准输入。
允许-
指定输入是stdin 是许多UNIX实用程序遵循的惯例。
答案 1 :(得分:3)
out
被解释为输入文件。您可以使用一个短划线表示来自STDIN
的阅读:
sort -R somefile | split - -l 50 out
答案 2 :(得分:0)
对于像mac os这样的POSIX系统,不接受-
参数,您需要完全省略文件名,并让它生成自己的名称。
sort -R somefile | split -l 50