簡體   English   中英

將文件名串聯為函數的字符串

[英]Concatenating file names into string for a function

我試圖將一堆文件連接成一個字符串,以便可以將它們用於功能。 作為測試腳本,我正在嘗試這樣做:

#!/bin/bash

for line in $(cat list.txt)
do
  x=" "
  A=$A$line$x
done

echo "$A"

mv "$A" ./stuff

但我得到了錯誤:

 mv: cannot stat ‘x.dat y.dat z.dat ’: No such file or directory

但他們絕對是在那里

我可以得到一些建議嗎?

該解決方案還將處理帶有空格的文件名。

#!/bin/bash
mapfile -t lines < list.txt
echo "${lines[@]}"
mv "${lines[@]}" ./stuff/

它將文件的全部內容讀取到數組變量中,顯示整個數組的內容,最后在mv命令中使用這些值

  1. 將最后一行更改為mv $A ./stuff

這應該適用於名稱中沒有空格的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM