Score:0

วิธีย้ายงานโดยอัตโนมัติเพื่อย้ายไฟล์ล่าสุดด้วยชื่อไฟล์ตามลำดับ

ธง bw

ฉันมีไฟล์ในไดเร็กทอรีซึ่งเป็นส่วนหนึ่งของโครงสร้างการตั้งชื่อตามลำดับ ฉันต้องการทำให้งานเป็นอัตโนมัติโดยที่ฉันสามารถค้นหาไฟล์ล่าสุดในลำดับนี้และคัดลอกไปยังไดเร็กทอรีอื่น

เช่น. ใน /tmp/directory23 มีชื่อไฟล์:

CEN_01 [วันที่แก้ไข 31/05/2021]
CEN_02 [วันที่แก้ไข 07/06/2021]
CEN_03 [วันที่แก้ไข 14/06/2021]
CEN_04 [วันที่แก้ไข 21/06/2021]
CEN_05 [วันที่แก้ไข 28/06/2021]
CEN_06 [วันที่แก้ไข 05/07/2021]

ฉันต้องการทำให้งานเป็นแบบอัตโนมัติ โดยที่ฉันพบไฟล์ที่แก้ไขล่าสุด CEN_06 และคัดลอกไฟล์ไปยังไดเร็กทอรีอื่น

ใครช่วยฉันหน่อยได้ไหม

FedKad avatar
cn flag
ดูที่ `man ls` ลำดับคำสั่ง `last_file=$(ls -t | head -n1)` จะกำหนดชื่อไฟล์ที่คุณต้องการให้กับตัวแปรเชลล์
Score:1
ธง lb

คำถามของคุณมีสองส่วน ดังนั้นฉันจะอธิบายแยกกัน ฉันไม่รู้ด้วยว่า Linux ของคุณสะดวกแค่ไหน ดังนั้นโปรดบอกฉันด้วยว่าคำแนะนำเหล่านี้คลุมเครือเกินไปหรือไม่

  • ค้นหาไฟล์ที่แก้ไขล่าสุด CEN_06 และคัดลอกไฟล์ไปยังไดเร็กทอรีอื่น : คุณควรจะทำได้โดยใช้ผลลัพธ์ของ ls -ltแล้วคว้าผลลัพธ์แรก หลังจากการค้นหาบางอย่าง ดูเหมือนว่าสิ่งต่อไปนี้จะใช้งานได้: ls -t | หัว -n1 (แก้ไข: ขอบคุณ @FedonKadifeli สำหรับคำสั่งนี้) ในการคัดลอกไฟล์ ซีพี คำสั่งคือสิ่งที่คุณกำลังมองหา
  • ฉันต้องการทำให้งานเป็นแบบอัตโนมัติ : วิธีหนึ่งในการทำให้สิ่งต่าง ๆ เป็นอัตโนมัติใน Linux คือการใช้ crontabs คุณควรจะสามารถทำสิ่งที่คุณต้องการโดยใช้มัน ฉันแนะนำให้คุณอ่านผู้ชายในเรื่องนั้น ผู้ชาย 5 crontab. โดยพื้นฐานแล้วคุณใส่ไฟล์ .sh ไฟล์คำสั่งที่คุณต้องการเรียกใช้ จากนั้น crontab จะดำเนินการให้คุณโดยอัตโนมัติตามช่วงเวลาที่กำหนด
FedKad avatar
cn flag
เหตุใดคุณจึงใช้ลำดับคำสั่งที่ยาวมากนี้ ในขณะที่ใช้คำสั่ง `ls -t | head -n1` สามารถทำงานได้อย่างง่ายดายหรือไม่
uz flag
Jos
@FedonKadifeli ดียิ่งขึ้นเนื่องจากคำสั่งของ Malo มีแนวโน้มที่จะพิมพ์ช่องว่างเพิ่มเติมที่จุดเริ่มต้นของชื่อไฟล์
hr flag
... หรือใช้ `zsh` โดยที่คุณไม่จำเป็นต้องพึ่งพาการแยกวิเคราะห์เอาต์พุต ls ที่เปราะบาง และสามารถใช้ shell glob ที่ผ่านการรับรอง เช่น `CEN_*(om[1])` แทน
Malo Maisonneuve avatar
lb flag
@FedonKadifeli ขอบคุณ! นี้ดีกว่ามาก ฉันจะอัปเดตคำสั่งที่ยาวเกินไป :)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา