簡體   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