Score:0

ฉันจะลบ HHMMSS ออกจากชื่อไฟล์ใน Linux/Unix ได้อย่างไร

ธง cn

ฉันมีชื่อไฟล์ mahelipaul_YYYYMMDDHHMMSS ฉันต้องลบส่วน HHMMSS ออกจากไฟล์และกำหนดให้กับตัวแปรใหม่

ฉันต้องการไฟล์เป็น mahelipaul_YYYYMMDD ฉันจะทำอย่างไร

pLumo avatar
in flag
ฉันไม่เข้าใจจริงๆ ถ้าคุณต้องการให้ชื่อไฟล์เป็นตัวแปรหรือเปลี่ยน/เปลี่ยนชื่อไฟล์ อย่างไรก็ตาม คุณลองอะไรมาบ้าง? นอกจากนี้ โปรดอธิบายกรณีการใช้งานจริงของคุณและให้ข้อมูลจริงแก่เรา
24601 avatar
in flag
โปรดอ่าน [ถาม] แล้ว [แก้ไข] คำถามของคุณตามนั้น
MAHELI PAUL avatar
cn flag
สวัสดี...ชื่อไฟล์ mahelipaul_YYYYMMDDHHMMSS ฉันต้องลบส่วนที่ประทับเวลาออก เช่น HHMMSS ..ฉันจะใช้คำสั่ง linux ได้อย่างไร
Score:1
ธง vn

ด้วย Bash คุณสามารถใช้ "slicing" เพื่อตัดอักขระจำนวนหนึ่งออกจากสตริงได้ ดูเหมือนว่าคุณต้องการลบอักขระ 6 ตัวสุดท้ายและสามารถทำได้ดังนี้: (นี่เป็นอีกวิธีหนึ่งในการทำเช่นเดียวกับในคำตอบของ Glenn)

$ ชื่อไฟล์ = mahelipaul_20201231235959
$ echo "${filename::-6}" # ลบอักขระ 6 ตัวสุดท้าย
mahelipaul_20201231

หากคุณต้องการสิ่งที่ตรงกันข้าม (เพื่อเก็บเฉพาะอักขระ 6 ตัวสุดท้าย จะเป็นดังนี้:

$ ชื่อไฟล์ = mahelipaul_20201231235959
$ echo "${filename:(-6)}" # เก็บเฉพาะ 6 ตัวอักษรสุดท้าย
235959

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

ฉันพบสิ่งนี้ ทุบตีการอ้างอิง มีประโยชน์จริงๆ

Score:1
ธง cn

ตรงไปตรงมาที่สุด

ชื่อไฟล์=mahelipaul_20201231235959
echo mv "$filename" "${filename%??????}" # ลบอักขระ 6 ตัวสุดท้าย

ลบเสียงสะท้อนหากเห็นว่าถูกต้อง

มีสิ่งที่ซับซ้อนกว่านี้ที่สามารถทำได้เพื่อตรวจสอบส่วนต่อท้ายที่มี 14 หลัก และตรวจสอบให้แน่ใจว่าตัวเลขเหล่านั้นแสดงถึงการประทับเวลาที่ถูกต้อง

โพสต์คำตอบ

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