簡體   English   中英

在bash中循環瀏覽一系列文件名

[英]looping through a series filenames in bash

我正在嘗試循環處理一些文件。 這個版本經過硬編碼測試,但是我的問題是獲取帶有變量的完整文件名,對我來說看起來不錯,但是腳本掛起了,顯然我做了一些愚蠢的事情。 有人可以幫忙嗎? 這是我的劇本

File_numbers={1003,1004}
File_name=$Domain + "__" + $Domain + "_" + $i "__" + * +  ".ext"
Full_path=$Path + "/" + $Domain + "/" + $File_name

for i in $File_numbers; 
do echo $i; cat $Full_path; 
done

如果有人有一個更優雅的解決方案,那也很好。

更新:我已經更改了自己的腳本(基於用戶指出的問題)

#!/bin/bash

Path="aPath";
Domain="aDomain";
File_numbers="{1003,1004}"
Full_path=$Path"/"$Domain"/"

for i in $File_numbers; do find $Full_path -name "*"$i"*" | xargs cat; done

在這種情況下似乎無法識別該變量

我會做的(解決了一些小問題):

#!/bin/bash
Path="aPath"
Domain="aDomain"
File_numbers="[1003|1004]"
Full_path="$Path/$Domain/"

find $Full_path -name "*$File_numbers*" | xargs cat

所以我改變了:

  • 不; 撲朔迷離!
  • 無需循環File_numbers。 [1003 | 1004]表示包括1003或1004在內的任何內容。
  • 請注意-name“ $ File_numbers ”如何包含“”中的所有內容
  • Full_path:變量在雙引號(“)中可用。

最后,我強烈建議您進行快速的Google搜索,並找到針對bash的初學者指南,它將為您節省大量時間! 立即投資,或稍后再投資!

暫無
暫無

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

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