繁体   English   中英

用于处理文件列表 txt 文件的 Bash 脚本

[英]Bash script to work with a file list txt file

我有一个 txt 文件,其中包含一个大文件列表。 每个文件名在列表中占 1 行。

我能够像这样阅读它:

#!/bin/bash
set -e
in="${1:-file.txt}"

[ ! -f "$in" ] && { echo "$0 - File $in not found."; exit 1; }

while IFS= read -r file
do
    echo "Copy $file ..."
done < "${in}"

最后我真正想要实现的是读取这些行,然后对前 20 或 30 或它们发出 cp 命令,然后从 file.txt 中删除它们,然后再做同样的事情。

使用readarray您可以轻松地一次读取输入行数:

while readrray -n 20 -t lines; do
    for line in "${lines[@]}"; do
         echo "Copy $file ..."
    done
done < "${in}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM