คำถามติดแท็ก tr

สำหรับคำถามเกี่ยวกับ tr ยูทิลิตี้ที่แปลหรือลบอักขระ ใช้แท็กนี้สำหรับคำถามเกี่ยวกับยูทิลิตี้ tr เองหรือคำถามเกี่ยวกับปัญหาที่เกิดจากการใช้งาน

6
แปลงเนื้อหาไฟล์เป็นตัวพิมพ์เล็ก
ฉันมีtempไฟล์ที่มีเนื้อหาตัวพิมพ์เล็กและตัวพิมพ์เล็ก อินพุต เนื้อหาของtempไฟล์ของฉัน: hi Jigar GANDHI jiga ฉันต้องการที่จะแปลงบนไปล่าง คำสั่ง ฉันลองคำสั่งต่อไปนี้: sed -e "s/[A-Z]/[a-z]/g" temp แต่มีเอาต์พุตผิด เอาท์พุต ฉันต้องการมันเป็น: hi jigar gandhi jiga สิ่งที่จะต้องมีในแทนส่วนของการโต้แย้งสำหรับsed?

5
แทนที่ช่องว่างหลายช่องด้วยช่องว่างโดยใช้ 'tr' เท่านั้น
ฉันมีไฟล์f1.txt: ID Name 1 a 2 b 3 g 6 f จำนวนช่องว่างไม่คงที่ วิธีที่ดีที่สุดในการแทนที่ช่องว่างสีขาวทั้งหมดด้วยช่องว่างเดียวใช้เพียงtrใด นี่คือสิ่งที่ฉันมี: cat f1.txt | tr -d " " แต่ผลลัพธ์คือ: IDName 1a 2b 3g 6f แต่ฉันต้องการให้มันเป็นเช่นนี้: ID Name 1 a 2 b 3 g 6 f sedโปรดลองและหลีกเลี่ยง
71 shell  cut  tr 

5
แทนที่บรรทัดใหม่ทั้งหมดเป็นช่องว่างยกเว้นบรรทัดสุดท้าย
ฉันจะแทนที่บรรทัดใหม่ทั้งหมดด้วยช่องว่างได้อย่างไรยกเว้นขึ้นบรรทัดใหม่ล่าสุด ฉันสามารถแทนที่บรรทัดใหม่ทั้งหมดเป็นที่ว่างโดยใช้trแต่ฉันจะทำอย่างไรกับข้อยกเว้นบางอย่าง?

1
วิธีการทำให้ tr ตระหนักถึงอักขระที่ไม่ใช่ ascii (unicode)
ฉันกำลังพยายามลบอักขระบางตัวออกจากไฟล์ (UTF-8) ฉันใช้trเพื่อจุดประสงค์นี้: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat ไฟล์มีอักขระต่างประเทศบางตัว (เช่น "Латвийская" หรือ "àé") trดูเหมือนจะไม่เข้าใจพวกเขามันถือว่าพวกเขาเป็นที่ไม่ใช่อัลฟาและลบออกด้วย ฉันพยายามเปลี่ยนการตั้งค่าภาษาของฉัน: LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat น่าเสียดายที่ไม่มีสิ่งเหล่านี้ทำงาน ฉันจะทำให้trเข้าใจ Unicode ได้อย่างไร

6
เหตุใดจึงไม่สามารถอ่านจาก / dev / urandom บน OSX ได้
เพื่อนร่วมงานแนะนำให้สร้างคีย์สุ่มผ่านคำสั่งต่อไปนี้: tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 32 | xargs มันทำให้ฉันมีข้อผิดพลาด: tr: ลำดับไบต์ที่ผิดกฎหมาย ฉันกังวลว่าฉันไม่มี/dev/urandomในระบบของฉัน ฉันลองใช้ googling เพื่อหาวิธีติดตั้งไฟล์นี้ แต่ฉันว่างเปล่า ฉันลองlocate urandomแล้วก็ว่างเปล่า (อันที่จริงแล้วพบหน้าคน แต่ไม่ได้ช่วย) ฉันจะให้urandomบริการบนระบบ Mac OSX ของฉันได้อย่างไร (สิงโต)
35 osx  random  tr 

2
กำลังลบช่องว่างแท็บบรรทัดใหม่ ฯลฯ ออกจากตัวแปรหรือไม่
นี่เป็นข้อผิดพลาดที่ฉันได้รับและมันล้มเหลวเนื่องจากตัวแปรที่มีค่าควรจะเป็น 2 (ฉันได้รับสิ่งนี้โดยใช้กselect * from tabel) ฉันได้รับช่องว่างในตัวแปรนั้น + 0 != 2 ./setjobs[19]: 0: not found. ฉันจะลบช่องว่างเหล่านั้นทั้งหมดหรือขึ้นบรรทัดใหม่ออกจากตัวแปรนั้นได้อย่างไร Can tr, sedหรืออะไรความช่วยเหลือ? นี่คือสิ่งที่ฉันทำ: set_jobs_count=$(echo "set heading off; select count(*) from oppar_db where ( oppar_db_job_name, oppar_db_job_rec ) in ($var) ;" | \ sqlplus -s ${OP_ORA_USER}/${OP_ORA_PASS}@$OPERATIONAL_DB_NAME) ใช้งานได้ตามที่แนะนำ: | sed 's/[[:space:]]//g' แต่ฉันยังคงได้รับค่าเช่น: set_jobs_count= 2
25 shell  sed  tr  whitespace  newlines 

2
tr บ่น“ ลำดับไบต์ที่ผิดกฎหมาย”
ฉันเป็นแบรนด์ใหม่สำหรับ UNIX และฉันใช้ "The Mac OS X Command Line" ของ Kirk McElhearn เพื่อสอนตัวเองด้วยคำสั่งบางอย่าง ฉันพยายามใช้trและgrepเพื่อให้ฉันสามารถค้นหาสตริงข้อความในเอกสาร MS-Office Word ปกติ $ tr '\r' '\n' < target-file | grep search-string แต่ผลตอบแทนทั้งหมดคือ: Illegal byte sequence. robomechanoid:Position-Paper-Final-Draft robertjralph$ tr '\r' '\n' < Position-Paper-Final-Version.docx | grep DeCSS tr: Illegal byte sequence robomechanoid:Position-Paper-Final-Draft robertjralph$ ฉันใช้สคริปต์บรรทัดเดียวกับที่ฉันสร้างขึ้นviและทำการค้นหาอย่างถูกต้อง

6
การสร้างรหัสผ่านแบบสุ่ม ทำไมพกพานี้ไม่ได้?
ฉันต้องการสร้างรหัสผ่านแบบสุ่มและฉันชอบ: </dev/urandom tr -dc [:print:] | head -c 64 บนแล็ปท็อปของฉันซึ่งใช้งาน Ubuntu สิ่งนี้จะสร้างตัวอักษรที่พิมพ์ได้ตามที่ตั้งใจ แต่เมื่อฉันเข้าสู่เซิร์ฟเวอร์ของโรงเรียนซึ่งรัน Red Hat Enterprise Linux และเรียกใช้ที่นั่นฉันจะได้ผลลัพธ์เช่น3!ri�b�GrӴ��1�H�<�oM����&�nMC[�Pb�|L%MP�����9��fL2q���IFmsd|l�Kที่จะไม่ทำเลย เกิดอะไรขึ้นที่นี่

3
จุดในคำสั่ง tr นี้ทำอะไร: tr ... AZ A-ZA-Z <<<“ JVPQBOV” (มี 13 จุด)
ฉันต้องการใช้trเพื่อทำการแปลง rot13 ฉันสามารถเข้าใจคำสั่งนี้ได้อย่างสวยงาม: tr A-Za-z N-ZA-Mn-za-m &lt;&lt;&lt; "URYC ZR CYRNFR" เอาท์พุตใดHELP ME PLEASEแต่ฉันไม่สามารถเข้าใจได้ว่าคำสั่งอื่นสามารถสร้างการเปลี่ยนแปลง rot13 เดียวกันได้อย่างไร: tr .............A-Z A-ZA-Z &lt;&lt;&lt; "URYC ZR CYRNFR" ดังนั้นฉันมีสองคำถาม: เวทมนตร์ที่อยู่เบื้องหลังtrคำสั่งที่สองคืออะไร วิธีทำให้คำสั่งที่สองทำงานได้ทั้งตัวเล็กและตัวใหญ่เช่นเดียวกับคำสั่งแรก?
18 tr 

5
ฉันจะลบช่องว่างออกจากตัวแปรเชลล์ได้อย่างไร
ฉันทำต่อไปนี้ที่บรรทัดคำสั่ง: $ text="name with space" $ echo $text name with space ฉันพยายามที่จะใช้tr -d ' 'เพื่อลบช่องว่างและมีผลมาจาก: namewithspace ฉันพยายามทำบางสิ่งเช่น: text=echo $text | tr -d ' ' ไม่มีโชคดีหวังว่าคุณจะสามารถช่วยชาวพื้นบ้านที่ยอดเยี่ยม
15 shell  command-line  tr 

8
เปลี่ยนบรรทัดแยกเป็นรายการคั่นด้วยเครื่องหมายจุลภาคด้วยรายการที่ยกมา
ฉันมีข้อมูลต่อไปนี้ (รายการแพ็กเกจ R แยกวิเคราะห์จากไฟล์ Rmarkdown) ที่ฉันต้องการเปลี่ยนเป็นรายการที่ฉันสามารถส่งไปยัง R เพื่อติดตั้ง: d3heatmap data.table ggplot2 htmltools htmlwidgets metricsgraphics networkD3 plotly reshape2 scales stringr ฉันต้องการเปลี่ยนรายการเป็นรายการของแบบฟอร์ม: 'd3heatmap', 'data.table', 'ggplot2', 'htmltools', 'htmlwidgets', 'metricsgraphics', 'networkD3', 'plotly', 'reshape2', 'scales', 'stringr' ขณะนี้ฉันมีไพพ์ไลน์ที่ไปจากไฟล์ raw ไปยังรายการด้านบน: grep 'library(' Presentation.Rmd \ | grep -v '#' \ | cut -f2 -d\( \ | tr …
15 linux  sed  csv  tr 

3
ฉันสามารถใช้ `sed` เพื่อแปลอักขระเช่นเดียวกับ` tr 'ได้หรือไม่
ฉันต้องการแทนที่ชุดอักขระด้วยอักขระที่เกี่ยวข้องจากอีกชุดหนึ่งดังนี้: original set: ots "target" set: u.x foobartest → fuubar.ex. การแปล / การทับศัพท์เช่นนี้เป็นtrคำสั่งพิเศษ: $ echo 'foobartest' | tr 'ots' 'u.x' fuubar.ex. น่าเสียดายที่trไม่รองรับการเปลี่ยนไฟล์แบบsedเดิม ฉันต้องการที่จะใช้sedดังนั้นฉันไม่จำเป็นต้องบูรณาการล้อของไฟล์ชั่วคราวสำหรับเล่นปาหี่
14 sed  tr 

2
เร็วที่สุด & วิธีที่สำคัญที่สุดในการแทนที่“ \ r \ n” ด้วย“ \ n” ในไฟล์?
ฉันคิดว่าtrเป็นวิธีหลักมากกว่าและอาจเป็นวิธีที่เร็วกว่าในการแทนที่สิ่งต่าง ๆ ในไฟล์ที่กำหนด อย่างไรก็ตาม tr สามารถแทนที่อักขระในจำนวนเท่ากันเท่านั้น ความหมาย ... 2 ตัวอักษรสามารถถูกแทนที่ด้วย 2 ตัวอักษรซึ่งหมายถึงการแทนที่ \r\nด้วยไม่\nอยู่คำถามtr ตัวเลือกที่ดีที่สุดต่อไปsedคืออะไร? เป็นวิธีที่สำคัญที่สุดและเร็วที่สุดในการแทนที่\r\nด้วย\nไฟล์เนื่องจากขาดความสามารถใน TR ต้องการตัวอย่างถ้าเป็นไปได้
11 sed  replace  tr 

1
ทำไมคำสั่ง tr ไม่อ่านจากไฟล์?
ฉันค้นหาหนังสือ Unix ชายและหน้าวิกิพีเดียสำหรับtrแต่ไม่สามารถหาสาเหตุที่มันถูกออกแบบ / ใช้งานในลักษณะที่ไม่ได้อ่านจากไฟล์ แต่เคร่งครัดจากอินพุตมาตรฐานเท่านั้น ยกตัวอย่างเช่นเครื่องมือเช่นwc, grep, sedและawkทุกคนจะมีความสุขอ่านข้อมูลจากไฟล์ถ้าให้หรือจากการป้อนข้อมูลมาตรฐาน / มีเหตุผลที่น่าสนใจในการออกแบบtrด้วยวิธีนี้หรือไม่?
11 history  tr 

3
คำสั่ง tr สามารถถูกโยงโซ่เพื่อหลีกเลี่ยงกระบวนการ tr หลายอย่างในไพพ์ไลน์หรือไม่?
ฉันมีไฟล์ txt มากมายฉันต้องการส่งออกตามลำดับที่ต่ำกว่ามีเพียงตัวอักษรและหนึ่งคำต่อบรรทัดฉันสามารถทำได้ด้วยtrคำสั่งต่าง ๆในขั้นตอนนี้: tr -d '[:punct:]' &lt;doyle_sherlock_holmes.txt | tr '[:upper:]' '[:lower:]' | tr ' ' '\n' สามารถทำได้ในการสแกนครั้งเดียวหรือไม่? ฉันสามารถเขียนโปรแกรม C ที่จะทำเช่นนี้ แต่ฉันรู้สึกเหมือนมีวิธีที่จะทำมันได้ใช้tr, sed, หรือawkperl
11 sed  awk  perl  tr 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.