Score:3

จะเพิ่มวันที่และข้อความลงในไฟล์เป็นนามแฝงได้อย่างไร

ธง pl

ฉันต้องการสร้างนามแฝงเพื่อต่อท้ายบันทึกลงวันที่ในไฟล์ (กรณีการใช้งานที่ฉันต้องการทำซ้ำ: Sebastian Daschner - วิธีการจดบันทึกอย่างมีประสิทธิภาพในฐานะนักพัฒนา.

จนถึงตอนนี้ฉันสามารถผนวกวันที่ได้ แต่ฉันไม่สามารถหาวิธีผนวกทั้งวันที่และหมายเหตุจากการป้อนข้อมูลของผู้ใช้ได้

การใช้งาน

ต่อท้ายไฟล์ 'ข้อความของฉัน'

ผลที่คาดว่าจะได้รับใน ไฟล์. txt

2021-08-30 : ข้อความก่อนหน้าบางส่วน
2021-09-01 : ข้อความของฉัน

นามแฝงที่ฉันเขียนจนถึงตอนนี้

นามแฝงต่อท้ายไฟล์ = 'tee -a file.txt <<< $(echo $(date -I) :)'
sudodus avatar
jp flag
เป็นโน้ตง่ายๆ ที่คุณสามารถพิมพ์ลงในคำสั่ง `read` ง่ายๆ หรือคุณต้องการโปรแกรมแก้ไขข้อความเพื่อสร้างโน้ต
Score:4
ธง hr

หากคุณต้องการบางสิ่งที่คุณสามารถส่งข้อความเป็นอาร์กิวเมนต์ได้ คุณควรมองหาฟังก์ชันเชลล์มากกว่าใช้นามแฝง

คุณสามารถลองใช้ยูทิลิตี ts (timestamp) จาก package moreutils:

ต่อท้ายไฟล์ () { printf '%s\n' "$*" | ts '%Y-%m-%d :' >> /path/to/myfile.txt ; }

ถ้า ไม่ใช่ตัวเลือกคุณ สามารถ แทรกข้อความลงในสตริงรูปแบบของ วันที่ คำสั่ง - แต่คุณต้องระวังเกี่ยวกับ % ตัวอักษร:

ต่อท้ายไฟล์ () { msg="$*"; วันที่ "+%Y-%m-%d : ${msg//%/%%}" >> /path/to/myfile.txt ; }

หรือ (ขอบคุณ @bac0n) อาจปลอดภัยกว่า ใช้ทุบตี พิมพ์ฉ ความสามารถในการจัดรูปแบบเวลาของฟังก์ชัน - ไม่จำเป็นต้องเปลี่ยน %ในเมธอดนี้ เนื่องจากข้อความจะถูกส่งผ่านเป็นอาร์กิวเมนต์สตริงแทนที่จะฝังอยู่ในสตริงรูปแบบ:

ต่อท้ายไฟล์ () { printf '%(%Y-%m-%d)T : %s\n' -1 "$*" >> /path/to/myfile.txt ; }

หากคุณต้องการให้สะท้อนไปยังเทอร์มินัลด้วย ให้เปลี่ยน >> กับ | ที-เอ

Score:4
ธง cn

คุณสามารถทำได้โดยใช้สคริปต์เพียงเล็กน้อย วิธีหนึ่งอาจเป็น:

#!/bin/bash
echo "$(วันที่ -I) : $@" >> file.txt
หาง -n 1 file.txt

เดอะ $@ ตัวแปรหมายถึงสิ่งที่คุณป้อนที่บรรทัดคำสั่ง เดอะ หาง คำสั่งจะสะท้อนบรรทัดสุดท้ายของไฟล์ไปที่หน้าจอ

บันทึกสคริปต์นี้ในของคุณ ~/ถังขยะ หรือในของคุณ .local/bin ไดเรกทอรีเป็น ต่อท้ายไฟล์. สร้างไดเร็กทอรีหากไม่มีอยู่ ครั้งต่อไปที่คุณเข้าสู่ระบบ ไดเร็กทอรีเหล่านี้จะถูกรวมไว้ใน PATH ของคุณ จากนั้นคุณสามารถป้อนคำสั่งได้ตลอดเวลา สิ่งที่คุณป้อนจะถูกบันทึกไว้ในไฟล์ ไฟล์. txt ในไดเรกทอรีการทำงานปัจจุบัน

pl flag
ขอบคุณสำหรับคำตอบที่รวดเร็ว ฉันเขียนสคริปต์และเพิ่มลงในเส้นทาง จากนั้นฉันก็สร้างนามแฝงเพื่อเรียกใช้ ฉันจะทำให้มันทั่วไปมากขึ้นในภายหลังหากจำเป็น (หาเรื่องแรกสำหรับเส้นทางไฟล์เป้าหมายและหาเรื่องอื่น ๆ สำหรับเนื้อหา)
vanadium avatar
cn flag
ถ้าคุณชอบนามแฝง คุณทำได้แน่นอน ;) ฉันจะตั้งชื่อสั้นๆ ให้กับสคริปต์เอง นามแฝงมีวัตถุประสงค์เพื่อเพิ่มตัวเลือกเริ่มต้นให้กับคำสั่งเป็นส่วนใหญ่ หรือมีรูปแบบต่างๆ (เช่น `alias ls='ls --color=auto'`, `alias la='ls -A'`) สำหรับไฟล์เรียกทำงานใดๆ ที่ไม่ได้อยู่ในพาธ การสร้างลิงก์ในโฟลเดอร์ในพาธจะเป็นแบบกำหนดเองมากกว่าการใส่ไว้ในนามแฝง (ซึ่งสามารถทำได้)

โพสต์คำตอบ

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