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

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU

3
ค้นหาในบันทึกจากชั่วโมงที่แล้ว
ฉันต้องการ bash script เพื่อค้นหาในคำบันทึกล้มเหลวและล้มเหลว แต่จากชั่วโมงที่แล้วเท่านั้น cut -c 5- /var/log/mail.log | awk '($0 >= from)' from="$(LC_TIME=C date +'%_d %H:%M:%S' -d -1hour)" |grep -i 'Failed:\|failure' ตัวอย่างไฟล์บันทึก Nov 1 01:00:00 localhost pushmail[55555]: 666666666666: Failed Nov 2 15:00:00 localhost pushmail[55556]: 666666666666: Failed Nov 3 11:00:00 localhost pushmail[55557]: 666666666666: Failed Nov 3 12:00:00 localhost pushmail[55558]: …
linux  bash  logging  awk 

1
Bash หนึ่งซับเพื่อเปิดหลายกระบวนการและดำเนินการฟังก์ชันหลามในแต่ละ - การประมวลผลแบบคู่ขนานของชายยากจน
ฉันมีไฟล์ไพ ธ อนเช่น my_functions.py และภายในไฟล์นั้นเป็นฟังก์ชั่น def func(a,b): result = does_some_stuff(a,b) return result มี bash one-liner ที่จะเปิดเซสชัน N python และเรียกใช้ฟังก์ชันนี้โดยระบุอาร์กิวเมนต์ a และ b หรือไม่? ฉันคิดว่าจะใช้สิ่งนี้ในการประมวลผลแบบคู่ขนานของชายยากจนเนื่องจากมีการสุ่มใน func การโทรทั้งหมดจะไม่ทำสิ่งเดียวกันแม้จะมีข้อโต้แย้ง a และ b เดียวกัน

3
วิธีผนวกไฟล์. txt หลายไฟล์ไว้ในไฟล์เดียวโดยไม่มีบรรทัดส่วนหัว
ฉันมีไฟล์. txt 100,000 ไฟล์ที่มีรูปแบบด้านล่าง: bygrp,colnum,beta 100005,1,0.629519434191718 100005,2,-0.500000000026516 100005,3,0.560850895321124 100005,4,0.119624318119292 100005,5,0.257676682753309 และชื่อไฟล์คือ Job19_beta1.txt, ... , job19_beta100000.txt ฉันได้สร้าง total.txt ซึ่งมีเฉพาะบรรทัดส่วนหัว: bygrp, colnum, beta ฉันต้องการผนวกเฉพาะแถวที่ 3 (colnum = 2 ในตาราง) จาก 100,000 ไฟล์ไปยัง total.txt โดยไม่มีส่วนหัว ฉันจะเขียนสคริปต์เพื่อทำมันได้อย่างไร? ฉันคิดว่าฉันต้องเขียนเพื่อ ... ทำ ... วนซ้ำแล้วคัดลอก แต่ไม่สามารถหาได้ ... ฉันเป็นนักวิเคราะห์ของ SAS แต่มีโครงการที่จำเป็นต้องใช้พรอมต์คำสั่งเพื่ออัปโหลดข้อมูล ฉันทำโค้ดเป็นจำนวนมาก แต่ยังคงต้องดิ้นรนกับสคริปต์ ขอบคุณล่วงหน้า!

3
สร้างรายการไฟล์ตามรูปแบบเวลาในชื่อไฟล์
ฉันมีอุปกรณ์บันทึกภาพของกล้องที่จะสร้างโฟลเดอร์ที่มีโครงสร้างพร้อมวิดีโอเช่นตัวอย่างด้านล่าง ฉันต้องการสร้างรายการไฟล์วิดีโอ แต่จะสร้างเฉพาะช่วงเวลาที่กำหนด เช่นระหว่าง 8:00 - 17:00 น. (วิดีโอที่อยู่นอกช่วงนี้มีคุณภาพไม่ดีเนื่องจากแสงน้อย) ชื่อไฟล์มีโครงสร้างดังนี้: [DATE Folder] AM | PM / sricam- [date] - [time] -sequence # .mp4 ด้วยตัวอย่างต่อไปนี้ตัวกรองจะแสดงเฉพาะไฟล์ที่เริ่มต้นที่ 8h08: 15 /data/20171229AM/sricam-20171229-070814-1514520494.mp4 /data/20171229AM/sricam-20171229-073814-1514522294.mp4 /data/20171229AM/sricam-20171229-080815-1514524095.mp4 /data/20171229PM/sricam-20171229-180815-1513553225.mp4 ฉันพบว่ารูปแบบการขยายรั้งสามารถกรองตัวเลข แต่วิธีการทำมันในโฟลเดอร์ย่อยทั้งหมด ฉันหวังว่าคำอธิบายของฉันจะไม่สับสนเกินไป :) ขอขอบคุณ
linux  bash  regex  grep 

1
ไม่สามารถเริ่มสคริปต์ทุบตีด้วย shell_exec
ฉัน googling และพยายามที่จะแก้ปัญหานี้ด้วยสคริปต์ php ของฉันสองสามวันนี้และฉันหวังว่าจะมีใครบางคนที่นี่สามารถเห็นปัญหาที่ฉันพลาดในการทำให้สคริปต์ php ของฉันหลุดออกจากสคริปต์ทุบตีของฉัน นี่คือ php ของฉัน: //kickoff the yapeal script echo "Starting yapeal.sh<br>"; echo "Current working directory: "; echo getcwd() . "\n"; shell_exec('./yapeal.sh'); echo "<br>yapeal.sh ran, I hope.<br>"; นี่คือ yapeal.sh #!/bin/bash cd /var/www/tools/applications php -f /var/www/lib/yapeal/yapeal.php sleep 5s echo "`date -u` Yapeal kicked off, working" > …
linux  bash  php 

1
ลบแถวด้วยบรรทัดว่าง csv
1 1479870 5022248660 1 1911574 3015889020 8 1 1569783 5029193930 ผลลัพธ์ควรเป็น 1 1911574 3015889020 8 ฉันใช้ awk '$4!=""' number.csv แต่มันไม่ทำงาน ใครช่วยบอกเบาะแสให้ฉันได้บ้าง
bash  unix  csv  awk 

2
ละเว้นตัวแปรจากเชลล์อื่น
ฉันอยู่บนเวิร์กสเตชันลินุกซ์ในเครือข่ายโดยมีการแจกจ่าย "เก่า" นอกจากนี้ล็อกอินเชลล์ถูกบังคับใช้กับ CSH ฉันถามผู้ดูแลระบบแล้วว่าเป็นไปได้หรือไม่ที่จะเปลี่ยนไปใช้อันอื่น (ฉันต้องการทุบตี) แต่เป็นไปไม่ได้ ... ดังนั้นฉันกำลังรัน bash จากบรรทัดคำสั่งเป็นเชลล์ที่ไม่ใช่การเข้าสู่ระบบแบบโต้ตอบ (จริงๆแล้วฉันใช้ gnome และ gnome-terminal กับโปรไฟล์ที่รัน / bin / bash -i เป็นคำสั่ง) มากถ้าไม่ใช่สคริปต์ของฉันทั้งหมดใช้ bash ดังนั้นฉันจึงเรียกใช้จากมันเพื่อเรียกใช้ bash ด้วยสคริปต์ มันยุ่ง แต่ก็ใช้งานได้ ฉันมี. cshrc พร้อมกับตัวแปรสภาพแวดล้อม, นามแฝงและตัวเลือกสำหรับ csh ที่กำหนดในไฟล์. logi และ. csrc ใน $ HOME ของฉัน ฉันยังมี. bashrc / .bash_profile (ที่เปลี่ยนเส้นทางไปยัง. bashrc หากนี่เป็นเชลล์แบบโต้ตอบ) /. …
linux  bash  shell  tcsh 

1
ฉันจะแก้ไขบรรทัดที่สร้างโดยโปรแกรมติดตั้งได้อย่างไร
ดังนั้นฉันจึงพยายามติดตั้ง Anaconda บนระบบปฏิบัติการระดับประถม ผมใช้ขั้นตอนที่พบในเว็บไซต์นี้http://docs.anaconda.com/anaconda/install/linux/ และได้รับข้อผิดพลาดดังต่อไปนี้ bash: /home/anton/.bashrc: บรรทัด 171: ข้อผิดพลาดทางไวยากรณ์ใกล้โทเค็นที่ไม่คาดคิด `เพิ่ม ' bash: /home/anton/.bashrc: บรรทัด 171: esac # เพิ่มโดย Anaconda3 5.3.0 installer ' เห็นได้ชัดว่านี่หมายความว่าในบรรทัด 171 มันควรจะเป็น esac #added โดย Anaconda3 5.3.0 โปรแกรมติดตั้ง ' แต่ถ้ามีการเพิ่มบรรทัดนี้โดยตัวติดตั้งฉันไม่รู้ว่าฉันสามารถแก้ไขได้อย่างไร

0
Ubuntu -> Win 10: ส่งตัวแปร linux ไปที่ explorer file explorer
ฉันพยายามส่งตัวแปร linux เป็นส่วนหนึ่งของพา ธ ไฟล์ไปยัง explorer.exe shellscript (bash) ที่ฉันใช้มีดังต่อไปนี้: !/bin/sh pdflatex $Name.tex explorer.exe "C:\Users\Martin\Documents\Korrespondenz" หลังจากรันpdflatexคำสั่งผู้สำรวจไฟล์ควรเปิดโฟลเดอร์ที่ระบุC:\Users\Martin\Documents\Korrespondenz\$Nameและแสดงในหน้าต่างด้านหน้า สคริปต์ทำงานได้ยกเว้นส่วนสุดท้ายที่มีตัวแปร Linux ฉันจะเปลี่ยนตัวแปร Linux เป็นตัวแปร Windows เพื่อส่งต่อไปยังคำสั่ง explorer.exe ได้อย่างไร ขอบคุณสำหรับความช่วยเหลือของคุณ.

2
ปฏิเสธการอนุญาตสำหรับรูทและปัญหา“ cd /”
ฉันมีปัญหาก่อนอื่นฉันไม่สามารถ cd ได้อย่างอิสระจาก terminal ตัวอย่างเช่น: [eldritch@localhost ~]$ ls Desktop Documents Downloads Music Pictures Public Templates Videos [eldritch@localhost ~]$ cd /Downloads bash: cd: /Downloads: No such file or directory ปัญหาที่สองฉันพยายามเรียกใช้ไฟล์และฉันได้รับสิ่งนี้: [root@localhost Downloads]# ls NVIDIA-Linux-x86_64-340.24.run yakuake-2.9.9.tar.xz [root@localhost Downloads]# ./yakuake-2.9.9.tar.xz bash: ./yakuake-2.9.9.tar.xz: Permission denied

1
บางครั้ง ctrl + a ไม่ไปที่จุดเริ่มต้นของบรรทัด
ฉันพบว่าใน bash บางครั้งเมื่อฉันกด ctrl + เคอร์เซอร์จะไม่ข้ามไปที่จุดเริ่มต้นของบรรทัดหรืออย่างนั้นก็ทำได้ แต่บนหน้าจอดูเหมือนว่ามันจะข้ามไปที่กลางบรรทัด ฉันอยู่บน osx ฉันใช้ iTerm และ terminal และทำงานเหมือนเดิม นี่คือตัวอย่างเมื่อสายยาวขึ้น ctrl + a (หรือในกรณีของฉัน cmd + a) หลุดจากซิงค์กับอินพุตเทอร์มินัล
bash 

1
ใช้วันที่เพื่ออัปเดตวันที่
ฉันพยายามที่จะทำตามไปพร้อมกับการออกกำลังกายในการเริ่มต้นบรรทัดคำสั่ง Linux แบบฝึกหัดหนึ่งขอให้ตั้งเวลาปัจจุบันเป็น 1 นาทีที่ผ่านมา ในขณะที่ฉันสามารถรับเวลาหนึ่งนาทีข้างหน้า: echo $( date --date='60 seconds ago' ) ฉันไม่สามารถใช้เพื่อตั้งค่าเวลา date --set=$( date --date='60 seconds ago' ) ฉันสมมติว่าฉันต้องบีบบังคับให้คืนค่ามาโครเป็นสตริงโดยใช้รูปแบบเดียวกับที่ฉันจะระบุให้กับ--setตัวเลือกหรือไม่
bash  shell 

1
คัดลอกไฟล์ทั้งหมดจากหลายโฟลเดอร์ย่อยไปยังโฟลเดอร์บน Ubuntu
ฉันดาวน์โหลดมากกว่า 7000 ebooks จาก Gutenburg แต่ปัญหาคือพวกเขาทั้งหมดอยู่ในไฟล์ zip และแต่ละไฟล์ซิปเหล่านี้อยู่ในโฟลเดอร์ของตัวเอง ฉันกำลังพยายามย้ายไฟล์ zip ทั้งหมดไปยังโฟลเดอร์ที่เรียกว่า ebooks และหลังจากนั้นฉันสามารถคลายซิปไฟล์เพื่อแสดงไฟล์ข้อความได้

1
ทำไม `. / file.py` ทำงาน แต่` ทุบตี file.py` ไม่ทำงาน?
ทำไมถึง./file.pyทำงาน แต่bash file.pyไม่ทำงาน เมื่อฉันทำงานbash file.pyหรือ. file.pyหรือsource file.pyรับข้อผิดพลาดเช่นนี้ file.py: line 4: syntax error near unexpected ..... แต่./file.pyทำงานได้ดี file.py #!/usr/bin/python3.4 if __name__ == "__main__": print("something")

1
วิธีจัดการกับเงื่อนไขเมื่อสคริปต์ที่คาดว่าจะเรียกใช้งานสคริปต์อื่นบนรีโมตโฮสต์ถูกขัดจังหวะ?
ฉันใช้สคริปต์คาดหวังว่าจะพูด xyz.exp เพื่อเข้าสู่ระบบโฮสต์ระยะไกลและดำเนินการสคริปต์อื่น abc.sh ตอนนี้เวลาส่วนใหญ่ abc.sh ทำงานได้ดี แต่มีสถานการณ์สมมติที่หากเงื่อนไขบางประการไม่สำเร็จสคริปต์จะหยุดและต้องการอินพุตของผู้ใช้สองคู่จากนั้นดำเนินการต่อ มีวิธีใดบ้างที่จะจัดการกับสถานการณ์นี้เช่นที่สคริปต์คาดหวัง xyz.exp สามารถแก้ปัญหานี้ได้แบบโต้ตอบ? หากสิ่งนี้เกิดขึ้นทั้งสคริปต์หยุดทำงานและฉันจะปิดเทอร์มินัลแล้วทำใหม่

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