คำถามติดแท็ก numeric-data

9
มีคำสั่ง unix ที่ให้จำนวนขั้นต่ำ / สูงสุดของสองตัวเลข?
stdinผมกำลังมองหาคำสั่งไปยังหมายเลขวงเงินอ่านในจาก ฉันเขียนสคริปต์เล็กน้อยเพื่อจุดประสงค์นั้น (ยินดีต้อนรับคำติชม) แต่ฉันสงสัยว่าถ้าไม่มีคำสั่งมาตรฐานสำหรับเรื่องนี้ง่ายและ (ฉันคิดว่า) กรณีการใช้งานทั่วไป สคริปต์ของฉันซึ่งค้นหาอย่างน้อยสองตัวเลข: #!/bin/bash # $1 limit [ -z "$1" ] && { echo "Needs a limit as first argument." >&2; exit 1; } read number if [ "$number" -gt "$1" ]; then echo "$1" else echo "$number" fi

10
ฉันจะรวมตัวเลขทั้งหมดในไฟล์ได้อย่างรวดเร็วได้อย่างไร
แต่ละบรรทัดประกอบด้วยข้อความและตัวเลขในหนึ่งคอลัมน์ ฉันต้องคำนวณผลรวมของตัวเลขในแต่ละแถว ฉันจะทำสิ่งนั้นได้อย่างไร ขอบคุณ example.log ประกอบด้วย: time=31sec time=192sec time=18sec time=543sec คำตอบควรเป็น784

5
วิธีเปรียบเทียบเวอร์ชันของโปรแกรมในเชลล์สคริปต์
สมมติว่าฉันต้องการเปรียบเทียบgccรุ่นเพื่อดูว่าระบบได้ติดตั้งรุ่นขั้นต่ำหรือไม่ ในการตรวจสอบgccเวอร์ชั่นฉันดำเนินการดังต่อไปนี้ gcc --version | head -n1 | cut -d" " -f4 ผลลัพธ์ก็คือ 4.8.5 ดังนั้นฉันจึงเขียนifคำสั่งง่ายๆเพื่อตรวจสอบรุ่นนี้เทียบกับค่าอื่น ๆ if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then echo "Less than 5.0.0" else echo "Greater than 5.0.0" fi แต่มันเกิดข้อผิดพลาด: [: integer expression expected: 4.8.5 ฉันเข้าใจความผิดพลาดของฉันว่าฉันกำลังใช้สตริงเพื่อเปรียบเทียบและ-ltต้องการจำนวนเต็ม ดังนั้นมีวิธีอื่นในการเปรียบเทียบรุ่นหรือไม่

1
ฉันจะหยุด Bash ไม่ให้ตีความรหัสฐานแปดแทนจำนวนเต็มได้อย่างไร
ฉันกำลังเขียนสคริปต์ Horoscope RSS เป็นบทนำสู่โปรเจ็กต์ Unix / Linux และพบปัญหาศาสตราจารย์ของฉันไม่สามารถแก้ไขได้ในเวลาที่ฉันสามารถอยู่หลังเลิกเรียนได้ เนื่องจากฉันไม่สามารถหาวิธีใช้วันที่ที่แท้จริงเป็นสิ่งที่ต้องตรวจสอบฉันคิดว่าฉันลองเลขคณิตพื้นฐานโดยให้ผู้ใช้ป้อนเป็นหมายเลขมาตรฐานในรูปแบบ MMDD ตามที่เขาพูดสคริปต์ดูเหมือนว่าจะอ่านอินพุตเป็นรหัสฐานแปดแทนจำนวนเต็ม นี่คือตัวอย่างของสคริปต์: elif [ "$olddate" -gt 1121 ] && [ "$olddate" -lt 1131 ] || [ "$olddate" -gt 1200 ] && [ "$olddate" -lt 1222 ] then echo "You are Sagittarius" exit elif [ "$olddate" -gt 1221 ] && [ …

13
ฉันจะเรียงลำดับรายการที่คั่นด้วยบรรทัดเดียวได้อย่างไร
ฉันมีจำนวนบรรทัด (หรือหลายบรรทัด) ที่คั่นด้วยอักขระที่กำหนดเอง เครื่องมือ UNIX ใดที่ฉันสามารถใช้เพื่อเรียงลำดับรายการของแต่ละบรรทัดเป็นตัวเลขรักษาตัวคั่น ตัวอย่างรวมถึง: รายการของตัวเลข อินพุต: 10 50 23 42; เรียง:10 23 42 50 ที่อยู่ IP; อินพุต: 10.1.200.42; เรียง:1.10.42.200 CSV; อินพุต: 1,100,330,42; เรียง:1,42,100,330 ท่อที่คั่น; อินพุต: 400|500|404; เรียง:400|404|500 เนื่องจากตัวคั่นมีความอิสระให้คุณตอบ (หรือขยาย) คำตอบโดยใช้ตัวคั่นตัวเดียวที่คุณเลือก

6
ย้อนกลับตัวเลขฐานสิบหกในทุบตี
มีคำสั่งง่าย ๆ ในการกลับเลขฐานสิบหกหรือไม่? ตัวอย่างเช่นกำหนดตัวเลขฐานสิบหก: 030201 ผลลัพธ์ควรเป็น: 010203 ใช้revคำสั่งฉันได้รับต่อไปนี้: 102030 ปรับปรุง $ bash --version | head -n1 GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu) $ xxd -version xxd V1.10 27oct98 by Juergen Weigert $ rev --version rev from util-linux 2.20.1

2
comm: ไฟล์ไม่เรียงลำดับ
ฉันเคยcommเปรียบเทียบไฟล์ที่เรียงสองไฟล์ แต่ละบรรทัดในไฟล์เหล่านี้เป็นจำนวนเต็มบวก แต่ผลลัพธ์แสดงให้เห็น comm: file 1 is not in sorted order comm: file 2 is not in sorted order ทำไมข้อผิดพลาดถึงแม้ว่าไฟล์ทั้งสองนี้ถูกจัดเรียงแล้ว?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.