Score:0

ฉันจะใช้อักษรตัวพิมพ์ใหญ่หลังอักขระบางตัวได้อย่างไร

ธง eg

ฉันจะใช้อักษรตัวพิมพ์ใหญ่นำหน้าอักขระบางตัวได้อย่างไร (^)

ฉันพยายามทำสิ่งที่ตรงกันข้ามกับลิงค์ด้านบน

ฉันต้องการให้ทุกอย่างเป็นตัวพิมพ์ใหญ่หลังจากอักขระหรือคำใดคำหนึ่ง

สามารถใช้ awk, sed หรือ bash

ตัวอย่าง

ก่อน

 ฟู^บาร์
 ฟูบาร์ ^ ฟูบาร์

หลังจาก

 ฟู^บาร์
 ฟูบาร์ ^ ฟูบาร์

ขอบคุณ

Score:1
ธง hr

ด้วย sed:

sed 's/\^.*/\U&/' ไฟล์

(^ ถูกหลีก เพื่อลบความหมายพิเศษในฐานะจุดยึดเริ่มต้นของบรรทัด คุณสามารถใช้ [^])

หรือ awk

awk -F^ 'BEGIN{OFS=FS} {x=$1; $0=ตัวเติม($0); $1=x} 1' ไฟล์

(เก็บของก่อน ^- เขตข้อมูลแยก; เปลี่ยนทั้งบรรทัดเป็นตัวพิมพ์ใหญ่ แล้วแทนที่ฟิลด์แรกเดิม)

eg flag
ขอบคุณมาก ฉันพยายามมาทั้งวันเพื่อให้ได้สิทธิ์นี้
Score:1
ธง cn

ด้วย bash ธรรมดา เราจำเป็นต้องมีตัวแปรเพิ่มเติมสองสามตัว:

สำหรับบรรทัดใน 'foo^bar' 'foobar ^ foobar' 'a^b^c'; ทำ
  คำนำหน้า=${line%%^*}
  ต่อท้าย =${line#*^}
  caps="${prefix}^${suffix^^}"
  printf '%s ==> %s\n' "$line" "$caps"
เสร็จแล้ว
ฟู^บาร์ ==> ฟู^บาร์
ฟูบาร์ ^ ฟูบาร์ ==> ฟูบาร์ ^ ฟูบาร์
a^b^c ==> a^B^C
  • ${var%%รูปแบบ} -> ลบสตริงย่อยที่ยาวที่สุดที่ตรงกับรูปแบบออกจากส่วนท้าย
  • ${var#รูปแบบ} -> ลบสตริงย่อยที่สั้นที่สุดที่ตรงกับรูปแบบออกจากจุดเริ่มต้น
  • ${var^^} -> พิมพ์ใหญ่

อ้างอิง: 3.5.3 การขยายพารามิเตอร์เชลล์

โพสต์คำตอบ

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