Score:0

วิธีย้าย id ที่ตรงกันของไฟล์ mat ในโฟลเดอร์อื่น

ธง cn

ฉันมีไฟล์ Matlab (.mat) ในโฟลเดอร์เฉพาะ ในเอกสารข้อความ ฉันมีรายการ ID บางรายการที่ทำเครื่องหมายเป็น 0 และ 1 ก่อนอื่นฉันต้องจับคู่ ID และแยกไฟล์ mat ที่ทำเครื่องหมายเป็น '1' เพื่อเป็นข้อมูลอ้างอิงของคุณ เราได้ให้รายละเอียดด้านล่างพร้อมชุดตัวอย่าง

ตัวอย่างเช่น: สมมติว่าฉันมีไฟล์เหล่านี้ในโฟลเดอร์

2424903_ (1)_crop_vampire_3.1.2.mat
1905302 (2)_crop_vampire_3.1.2.mat
1904802 (1)_crop_vampire_3.1.2.mat
1902101_IYYANAR (1)_crop_vampire_3.1.2.mat

ไฟล์ข้อความ:

2424903 - 1
1905302 - 0
1904802 - 0
1902101 - 1

ผลลัพธ์ที่คาดหวัง:

2424903_ (1)_crop_vampire_3.1.2.mat
1902101_IYYANAR (1)_crop_vampire_3.1.2.mat

ฉันต้องการเพียง 2 ไฟล์นี้ในโฟลเดอร์แยกต่างหาก

ฉันได้ลองรหัสด้านล่างแล้ว

ไฟล์ $cat.txt | xargs mv -t ./โฟลเดอร์ใหม่
$xargs -a file.txt mv -t ./โฟลเดอร์ใหม่

แต่ฉันได้รับข้อผิดพลาดเช่น "ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว" กรุณาแนะนำรหัส / วิธีการแยกไฟล์เหล่านั้น

Score:0
ธง vn

ลองสคริปต์นี้:

#!/bin/bash

ในขณะที่อ่าน -r บรรทัด
ทำ
  id_num=$(echo "$line" | ตัด -d ' ' -f 1)
  id_inc=$(echo "$line" | ตัด -d ' ' -f 3)
  ถ้า [[ "$id_inc" == 1 ]]; แล้ว
    file=$(ค้นหา -ชื่อ "${id_num}*")
    mv "$file" -t './โฟลเดอร์ใหม่'
    # echo "$file" # หากคุณต้องการพิมพ์ชื่อไฟล์
  ไฟ
เสร็จแล้ว < file.txt

มีปัญหากับ Xargs และชื่อไฟล์ที่มีช่องว่างโซลูชันนี้ทำงานผ่านแต่ละบรรทัดแทน ตรวจสอบว่าฟิลด์สุดท้ายเป็น 1 หรือไม่ และในกรณีนี้จะย้ายไฟล์ไปที่ แฟ้มใหม่.

โพสต์คำตอบ

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