如何在bash中循环访问一对文件?

时间:2019-04-07 15:37:14

标签: linux bash

我有一堆文件,这些文件是一对的。 例如:

File1_1.tar.gz, File1_2.tar.gz
File2_1.tar.gz, File2_2.tar.gz
...

我接受第一对,执行一堆命令并获得输出,然后进入第二对。但是,只有在文件夹中有两个文件,例如File1_1.tar.gz, File1_2.tar.gz之后,我才能删除它们并手动添加第二对文件。 我从这样的目录中获取文件名

FILE_1=$(ls | sort -n | head -n 1)
FILE_2=$(ls | sort -n | tail -n 1)

我想用for循环来完成它,例如获取前两对获取输出,然后获取第二对获取输出,依此类推。

1 个答案:

答案 0 :(得分:0)

您所知道的是:每个文件名都有两部分,用 def p(): global screen1 screen1 = Tk() screen1.title("MY HALL") screen1.geometry("1500x800") screen1.configure(bg='yellow') tree = ttk.Treeview(screen1, selectmode='browse') conn = sqlite3.connect('TABLE.DB') c = conn.cursor() def view_my_hall(): c.execute("SELECT * FROM Seat_Allocation ") for row in c.fetchall(): ROOM_NAME = row[0] LINE_NO = row[1] BENCH_NO = row[2] REGISTRATION_NO = row[3] PAPER_CODE = row[4] EXAM_DATE = row[5] INVIGILATOR_NAME = row[6] tree.insert("", tk.END, values=row[0], text="ROOM NAME/ROOM NO") tree.insert("", tk.END, values=row[1], text="LINE NO") tree.insert("", tk.END, values=row[2], text="BENCH NO") tree.insert("", tk.END, values=row[3], text="REGISTRATION NO") tree.insert("", tk.END, values=row[4], text="PAPER CODE") tree.insert("", tk.END, values=row[5], text="EXAM DATE") tree.insert("", tk.END, values=row[6], text="INVIGILATOR NAME") break conn.commit() s = ttk.Style() s.configure('Treeview', rowheight=48) tree = ttk.Treeview(screen1, column=("column1","column2","column3")) tree.heading("#1", text="VIEW") tree.heading("#2", text="YOUR") tree.heading("#3", text="HALL") tree.column("#1", width=30, minwidth=0) tree.column("#2", width=30, minwidth=0) tree.column("#3", width=30, minwidth=0) button1 = Button(screen1, text="VIEW", command=view_my_hall, anchor='center', bg='blue', fg='white', width=10) button1.pack() button2 = Button(screen1, text="BACK", command=screen16.destroy, anchor='center', bg='blue', fg='white', width=10) button2.pack() tree.pack() screen1.mainloop() 分隔。第一部分是任意的,第二部分是_1.tar.gz,并且文件成对出现。

这意味着您可以简单地迭代一组,并使用参数扩展来生成该对(另一对)的另一半。

2.tar.gz