从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

sku2003

在目录中,我有一定数量的文件。这可能是53个txt文件,但我也可能有123个文件。这些文件具有各种随机名称,但是都具有文件句柄.txt

我可以使用ls获取所有文件的列表,并将其放入变量中。

list_of_txt_files=$(ls *.txt)

但是我想将列表分成多个单独的列表,每个列表只有10个元素-即一个包含53个txt文件的文件夹,应该给我6个列表。那是5个具有10个文件名的列表,一个6个具有3个文件名的列表,而我的示例在目录中具有123个txt文件,应该给我12个具有10个文件名的列表,而13个仅具有3个文件名的列表。

以我的53个txt文件为例:列表号。1将保留第一个文件直到第十个文件,并列出编号。2将保留第11个文件到第20个文件,依此类推。我将问题的标题从列表中的第i到第j元素命名,因为我想其他人可能希望以不同的方式分解列表。也许从目录中的第一个文件到第100个文件。

最终目标是能够在for do循环中使用这些列表,并使用cat命令将每个列表的十个文件的内容写成每十个文件的一组文件-例如,在我的示例中,有53个文件一个目录,这将给我6个文件。其中前5个文件包含50个原始txt文件的内容,而第6个文件包含最后3个txt文件的内容。

我已经考虑过使用head或tail命令,但是无法完全确定如何为这两个命令指定范围。

伊尔卡楚

在具有数组的shell上,使用它们。与Bash一起说:

$ touch {01..53}
$ files=(*)
$ echo "${files[@]:0:10}"       
01 02 03 04 05 06 07 08 09 10

$ for ((i = 0 ; i < ${#files[@]} ; i += 10 )) ; do
     echo "${files[@]:i:10}" ; 
     # or
     # cat "${files[@]:i:10}" > set-$(( i / 10 ))
  done
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53

子字符串扩展(阵列片)"${files[@]:i:10}"扩展到的话,不是一个字符串列表,这样你就可以遍历它:

for f in "${files[@]:i:10}" ; do
    somecmd "$f"
done

要这样做files=$(ls *.txt)ls那里是完全多余的,无论如何,都是由外壳程序评估通配符。通常,您只需将通配符模式保存到变量(pat=*.txt)并在需要时使用它(不加引号),或者如果要将其扩展为实际文件名,请使用echo *.txt代替ls对于处理文件名列表,如果您不受限于普通的POSIX Shell,则数组会更好。


至于用head拆分列表tail,您需要做一些事情,例如| head -20 | tail -10获得第11到20行| sed -n 11,20p或者使用sed:。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从ArrayList中删除第ith个元素

来自分类Dev

从ArrayList中删除第ith个元素

来自分类Dev

列表的第n个元素

来自分类Dev

对子列表中的第ith个元素进行序言

来自分类Dev

在第n个元素之后在Python列表中插入元素

来自分类Dev

OCaml:提取元组的第n个元素?

来自分类Dev

从列表的列表中提取第 n 个元素

来自分类Dev

删除列表的第n个元素

来自分类Dev

停在第n个元素?

来自分类Dev

Grep 第 n 个元素

来自分类Dev

Haskell中列表的第K个元素

来自分类Dev

迭代器中的第n个元素

来自分类Dev

迭代器中的第n个元素

来自分类Dev

根据第n个元素删除列表中的列表

来自分类Dev

如何使列表中的第n个元素成为自己的列表?

来自分类Dev

如何同时在列表中打印第n个元素?

来自分类Dev

fsharp从列表中获取第n个元素

来自分类Dev

Racket,编写查找列表中第 n 个元素的函数

来自分类Dev

如何在Scala中将第n个和第(n + 1)个元素折叠到新列表中?

来自分类Dev

Scala从数组/ RDD中选择第n个元素中的第n个元素

来自分类Dev

如何定位列表中的每个第n个元素,但仅在3个元素之后

来自分类Dev

从 Pandas Python 中的命名元组列表中提取第 n 个元素?

来自分类Dev

如何在div中包装第n到第n个元素

来自分类Dev

如何在div中包装第n到第n个元素

来自分类Dev

提取mysqli查询结果的第n个元素

来自分类Dev

榆树列表解析,获取列表的第n个元素

来自分类Dev

从列表的子列表中提取第n个元素,并将它们组合到一个新列表中?

来自分类Dev

找到满足条件的第n个元素?

来自分类Dev

分组数组的第n个元素