Otázky a odpovědi týkající se programování - bash

Je možné nahradit hodnotu buňky v csv souboru pomocí grep,sed, nebo obojí
Napsal jsem následující příkaz #!/bin/bash awk -v value=$newvalue -v row=$rownum -v col=1 'BEGIN{FS=OFS=","} NR==row {$col=value}1' "${file}".csv >> temp.csv && mv temp.csv "${file}".csv Vzorek Vstupní soubor.csv Header,1 Field1,Field2,Field3 1,ABC,4567 2,XYZ,7890 Assuiming $newvalue=3 ,$rownum=4 a col=1, pak výše uvedený kód nahradí: Požadovaný Výstup Header,1 Field1,Field2,Field3 1,ABC,4567 3,XYZ,7890 Tak pokud vím, řádek a sloupec, je možné nahradit řekl hodnotu pomocí grep, sed? Edit1: Pole3 bude mít vždy jedinečnou hodn...
bash csv git-bash linux
2021-11-24 06:52:47
Stavět ROS2 prostoru v docker kontejner-nemůže najít ament_cmake
Mám ROS2 pracovní prostor projektu, jako je tento: ├── build-in-docker ├── docker │   ├── build │   ├── Dockerfile │   └── env └── src docker/env má proměnné prostředí: #!/bin/bash NOC='\033[0m' GRN='\033[0;32m' YLW='\033[0;33m' image_name="docker-build-ros2" container_name="ros2-ws" target_path="/ros2-ws" a docker/Dockerfile má obsah: # syntax=docker/dockerfile:experimental # prepare the docker ----------------- FROM ubuntu:20.04 ARG DEBIAN_FRONTEND=noninteractive # By default, ubuntu docker images include code to remove downloaded p...
bash docker ros2 shell
2021-11-24 04:30:28
Jak nahradit pozici adresář obsahující mezery
Udělal jsem dvě potrubí; to, x="$(ls -1p | grep "/$" | tr -d "/")" získejte všechny podadresáře z pracovního adresáře, a to, y="$(ls -1p | grep "/$"| grep \ | tr -d "/")" dostane sub adresářů, které obsahují mezery v pracovním adresáři. Takže teď, co jsem se snaží udělat, je nahradit pozici adresář, který obsahuje mezery a dá to na samém vrcholu, tj. říkají, níže jsou mé podsložek: Dir1 Dir2 Dir 3 Teď Dir 3 jde do top: Dir 3 Dir1 Dir1 for I in $x; do for X in $y; do if [[ $I == $X ]];then ...
bash docker ros2 shell
2021-11-24 00:05:11
Součet n čísel zapsaných pomocí klávesnice v bash skriptu
Za prvé, omlouvám se za "moje angličtina". Mám udělat skript, který se mě ptá na čísla přešel na klávesnici a přidávat je a ukazuje, nahromaděné množství. A program bude konec, když zadáte záporné číslo. Udělal jsem následující skript, který funguje, ale nejsem přesvědčen o tom, s použitím následujících v pro použití jako akumulátor, to není mě nenapadlo dělat to jinak. Způsoby, jak dělat to více Elegantní ?? Edit: Elegantní není slovo, ale jestli to, co dělám, je správné v bash nebo tam je způsob, jak to udělat "normativní" nebo "divně"... Díky!!! #!/bin/bash #accumulat...
bash linux script sum
2021-11-23 23:48:45
Potrubí filepath do ImageJ
Mám malý nástroj příkazového řádku rjp2tif to výtažky radiometrická data z jpeg souborů do formátu tiff. Doufala jsem, že budu moci potrubí filepath do ImageJ na příkazovém řádku a ImageJ otevřít soubor s příponou tiff. Za tímto účelem, rjp2tif píše filepath z tiff souboru na standardní výstup. Zkoušel jsem následující v bashi: $ rjp2tif /path/to/rjpeg | open -a imagej a $ rjp2tif /path/to/rjpeg | open -a imagej -f První se otevírá ImageJ ale neotevře soubor. Druhý otevírá ImageJ s textové okno s filepath. To je na macOS Monterey, ale nemyslím si, že záleží. Někdo se sna...
bash macos script sum
2021-11-23 23:05:07
xdotool příkaz funguje na příkazové řádce, není v bash skriptu
Proč příkaz xdotool search --class mupdf windowactivate --sync type f]H práce v příkazovém řádku, jak se očekávalo, téměř, ale ne na všechny v následujícím skriptu joc(){ # Joy of Cooking, joc [page #, def 823] mupdf $HD/ReadBooks/Rombauer/Rombauer-JoyOfCooking_11_823.pdf ${1:-823} sleep 1 eval "xdotool search --class mupdf windowactivate --sync type f]H" } Poznámka: snažil jsem se ve skriptu, a to jak s a bez uvozovek, s a bez hodnocení, s a bez hledání ... --sync'. Pokud můžu říct xdotool příkaz nemá vliv na všechny.
bash command-line mupdf xdotool
2021-11-23 21:43:13
Proč bash skript v mém docker sestavení souboru návrat zkorumpovaných json?
Proč je docker sestavení poškození JSON v $VSS_NUGET_EXTERNAL_FEED_ENDPOINTS? Já používám tento článek (spefically příklad 2, který používá Buildkit a docker sestavení tajemství), aby pomohl naplnit můj Dockerfile. Tento proces bude: projít PAT během docker build, mount PAT jako tajemství, export uprchlý řetězec JSON pomocí the secret (přes cat /pat) ENV, a ^^^ výše JSON je poškozen ^^^ použijte env proměnné zavolat NuGet soukromé krmit před dělat dotnet restore žádost. Bash příkaz je: RUN --mount=type=secret,id=pat,dst=/pat export VSS_NUGET_EXTERNAL_FEED_ENDPOINTS=...
bash docker json nuget
2021-11-23 21:26:24
Formát výstupu dotazu
Jsem běží SnowQL dotazy jako tak - snowsql -u user -w cluster -d db -s public -a "account" -r admin -q "SELECT bucket FROM buckets GROUP BY bucket" | while read bucket_name_var ; do if [ ! -z "$bucket_name_var" ] then fi done To je výstup, který produkuje - * SnowSQL * v1.2.20 Type SQL statements or !help +-------------+ | BUCKET |-------------| | 960 | +-------------+ 1 Row(s) produced. Time Elapsed: 0.927s Goodbye! Jak mohu získat tento výstup místo - 960 Chci, aby tento výstup tak, aby bucket_name_var proměnná bude mít pouze v...
Připojit řádek v BASHI pouze na některých tratích
Já jsem pracoval na skriptu, aby se změny Nagios plugin service definition pomocí BASH. Musím se připojit kontakt, název skupiny linie, ale pouze pro určité služby, definice. Takže chtěl bych začít s tímto. define service { use sites-service host_name my_host service_description check_reboot_os_updates check_command check_reboot_os_updates contact_groups contactgroup1 servicegroups MyGroup } define service { use linux-service host_name ...
awk bash nagios sed
2021-11-23 20:51:30
Odstranění určitých souborů do více složek v jednom adresáři v Linuxu
Mám asi 30+ složky chci smazat pouze určité typy souborů uvnitř. Mohu to udělat pomocí: Find Dir1, Dir2, Dir3 (Etc.) -name "*.filetype" -Delete Nicméně, to by bylo velmi dlouho na typu/kopírovat. Existuje rychlejší způsob, jak to udělat?
bash find rm sed
2021-11-23 20:47:06
Nahradit řetězec, který je dva řádky předchozí, aby odpovídal vzoru
Mám velký config.js soubor a chtěl bych nahradit default:false, k default:true, který je na vrcholu field:'$scope.keepEffort'. Snažil jsem se více sed command řešení, ale nic, zdá se do práce. { default:false, enabled:true, field:'criticalPath', filter:false, filterValue:'', id:'show-critical-path', operator:'colorize' },{ ...
bash sed shell sed
2021-11-23 19:45:38
ADB zařízení - Získejte všechny IPs odpovídající stavu zařízení
Když vydám příkaz: adb devices Mám podobný výsledek: List of devices attached 192.168.1.200:5555 offline 192.168.1.201:5555 device 192.168.1.202:5555 unauthorized 192.168.1.203:5555 device Mám bash skript, ale nedaří se mu to, protože to funguje pouze na připojená zařízení: #!/bin/bash #init a=$(adb devices | cut -f1 | cut -f1 -d\ ); echo $a; for x in $a; do if [ "$x" == "List" ]; then continue; fi; echo $x adb connect $x done Jak jen IPs od "zařízení" v seznamu a přeskočit IPs od ostatních hodnot v se...
adb android bash parsing
2021-11-23 17:45:40
Bash shell iterace adresáře nefunguje, jak se očekávalo
Snažím se iterovat přes adresář, ale pro smyčce nefunguje, jak se očekávalo. Podívej se na tohle: for dirname in "/dir_example/*"; do echo "$dirname" done Co se stane, je, že to jen ozvěny řetězec "/dir_example/*" a ne iteraci přes adresářů. Zkoušel jsem to na jiném serveru a fungovalo to. Shell je bash na stejném počítači. Jak je to možné?
bash for-loop glob quotes
2021-11-23 17:15:46
Vynechat adresář při vyhledávání se najít [duplicitní]
Na tuto otázku již odpověď zde: Jak vyloučit adresář najít . příkaz (45 odpovědí) Uzavřená minulý měsíc. Hledání celého systému pomocí: find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 "|| Size : " $5 }' Jak mohu vynechat adresář? Vidím -prune -o, ale nejsem si jistý, jak formátovat možnost.
bash find linux search
2021-11-23 16:58:31
divné řazení vede k špatné výsledky [uzavřen]
Uzavřen. Tato otázka nesplňuje Přetečení Zásobníku pokyny. To není v současné době přijímá odpovědi. Chcete zlepšit tuto otázku? Aktualizace otázku, takže to je na téma pro Přetečení Zásobníku. Uzavřená minulý měsíc. ...
bash shell sorting search
2021-11-23 16:52:33
ffmpeg skript mp4 do mp3
#!/bin/bash for i in *.mp4 do ffmpeg -i "$i" -ab 128k "${i%mp4}mp3" done To šarže převádí všechny *.mp4 soubory v aktuálním adresáři na mp3. ffmpeg musí být nainstalována nebo součástí, které distro. Někdy nechci všechno v CWD převedeny. Chtěl bych upravit tento skript tak, že. Pokud tam je žádné argumenty skript nic nedělá Pokud argument je *.mp4 převede všechny .mp4 .mp3 Pokud argument je název souboru.mp4 je pouze převede jeden soubor do souboru.mp3 Můžu nějak pomoci s bash script code ? TIA ! Nejste si jisti, jak číst argumenty z příkazového řá...
bash ffmpeg script search
2021-11-23 16:45:49
chyba syntaxe poblíž neočekávaného tokenu "hotovo"?
while :; echo 'wtf'; done; řádek 1: chyba syntaxe poblíž neočekávaného tokenu "hotovo" no já rozhodně nemám ponětí, co je špatného na tento řádek. Nemyslím si, že je while : část, mělo by to být sice pravda smyčky.
bash shell script search
2021-11-23 16:25:44
Jak formátovat výstup unix shell script plochý soubor, který je generován .sql souboru v unix shell script
Mám unix shell skript, který extrahuje data z databáze s .sql souboru . V tomto SQL musím formátu souboru, výstup se SADOU příkazů. Potřebuji výstup takovým způsobem, že výstup je displej s záhlaví sloupce bez jakékoliv mezery nebo řádky v záhlaví. Očekávaný výstup: Header1,header 2 Mark,California Steve,India Výstupní vidím:(další řádek před header a tečkované čáry po hlavičce) Header1, header 2 ----------------- Mark,California Steve, India Skript: ABC.sh a=`sqlplus -silent $Database name @Ggg.sql` mv xyz.csv xyz_$1.csv dos2unix xyz_*.csv 2> /dev/null (cat body....
bash header shell sql
2021-11-23 14:54:54
Použití bash proměnné v substituce příkazu s formátováním, s JSON
Mám bash skript, kde jeden z část v příkazu čas od času mění. Tak jsem se snažil změnit scénář, takže jsme se mohli zeptat na to, nebo změnit na jeden díl, atd., ale nemůžu, opravdu, aby to. Když jsem to psal, tak to funguje: #!/bin/bash changing_stuff='"Active-2021-xy Part YX"' total_number=`Command_xy show base name "Active-2021-xy-yz Part YX" limit 1 --format json | jq '.total'` Použil jsem '" "' , protože, jak vidíte na původní příkaz vyžaduje " " pro část. Jak jsem mohl přidat changing_stuff do středu script? Díky moc!
bash linux shell sql
2021-11-23 14:45:52
Porovnávat čísla v shell
Problémy porovnávání 2 kódy odezvy v shell. Běží curl a je třeba ověřit, zda odpověď je mezi 200 a 400. Také, tam je šance, že odpověď bude "000", pokud je server dolů. #!/bin/sh response1="200" #curl first url response2="000" #curl second url if (( $response1 -ge 400 || $response1 -lt 200 || $response2 -ge 400 || $response2 -lt 200 )) ; then echo "Something went wrong, response code is not in success range" exit 1 else echo "Success" exit 0 fi ((: 200 -ge 400 || 200 -lt 200 || 000 -ge 400 || 000 -lt 200 : chyba syntaxe ...
bash linux numbers script
2021-11-23 13:18:34
Apache - CSS není odkaz na mé webové stránky
Já nakonfigurovat webový server tak, když jsem přístup na můj localhost, bash skript se spouští a ozvěny HTML dokumentu, takže prohlížeč může způsobit to. To funguje správně. Budu mít problémy, aby CSS pracovat. Udržuje házet GET http://172.20.10.6/css/styles.css net::ERR_ABORTED 500 (Internal Server Error) v konzole při přístupu k webové stránce. Mám složku s názvem webserver (/var/www/webserver) a ve složce mám index.sh to poskytuje HTML úspěšně a složky css s styles.css soubor. To je .conf soubor pro můj virtuální hostitele: <VirtualHost *:80> ServerAdmin us...
apache bash css script
2021-11-23 12:53:12
Chytit obsah příkazového řádku poslat jinou odpověď
Musím nastavit v crontab s sh skript, který vyzve uživatele, aby odpověď před spuštěním. Ale někdy otázku je "Ano" nebo "Ne" odpověď a někdy stejný scénář čeká, "Platnost" nebo "Abort". Nemůžu upravit tento skript, takže potřebuju, aby se můj skript pro spuštění první, chytit řádek výstupního textu a podívejte se na řádek textu odpovědět "Ano" nebo "Síla", automaticky. Testoval jsem něco jako toto, ale nefunguje : if command.sh | grep 'Force' =0 then echo "Force" else echo "Yes" fi Děkuji za vaše rady nebo pomoc :)
bash linux sh shell
2021-11-23 11:59:53
Sloupec bez poslední postavy s awk a printf
Mám tento skript: #!/bin/bash f_status () { systemctl list-units | grep $1 | awk '{ printf("SERVICE STATUS: %-25s \t %s \t %s \t %s\n",$1,$2,$3,$4) }' } f_line() { echo "-------------------------------------------------------------------------------------------" } echo "" f_line f_status "cron" f_status "ssh" f_line Tento skript mi dává takový výsledek: ------------------------------------------------------------------------------------------- SERVICE STATUS: cron.service loaded ...
awk bash printf shell
2021-11-23 11:39:15
Jak rozbalte všechny soubory v adresáři pomocí shell script?
Chci se rozbalí všechny soubory z adresáře zvláštní, ale nevím jak to udělat s pomocí shell skriptu. Lgl_Entitiy.txt.zip Lgl_Entitiy.txt_1.zip Lgl_Relate.txt.zip Lgl_Relate.txt_1.zip Lgl_Name.txt.zip Lgl_Name.txt_1.zip
bash directory linux shell
2021-11-23 11:23:46
Jak generovat řetězec počítá v defferent vzorky R
Řekněme, že mám tabulku s údaji, jak postupovat: ID1 ID2 ID3 a a b a b b b b b c c c c c d c d d d e d e e Pak chci převést jako následující strukturu: Samples ID1 ID2 ID3 a 2 1 0 b 1 2 3 c 3 2 1 d 2 1 2 e 1 0 2 Chtěl by někdo z vás prosím, pomozte mi s R, nebo bash kód, aby dosáhli takové transformace?
bash r linux shell
2021-11-23 11:01:33
Bash skript pro vyhledávání řetězce v blízkosti další řetězec ve vim (?)
Hledám (bash) příkaz k otevření souboru (jako ve vimu), hledat pro konkrétní řetězec a hledání pozpátku od tam, najít druhý řetězec a na výstup (pouze), že druhý řetězec. Pro soubor, jako je tento: ... aaa x ... aaa y ... <-- any number of lines, but necessarily greater than 0 bbb ... Vymyslel jsem to tak daleko: vim -c "/bbb" -c "n" -c "?aaa" -c "n" To nebude fungovat; vim zní: Error detected while processing command line: E163: There is only one file to edit Press ENTER or type command to continue Také musím uložit řet...
bash vim linux shell
2021-11-23 10:00:41
Bash Skript spustit AWS Cli příkaz paralelně na snížení času
promiň, já jsem stále nový bash skriptování. Mám kolem 10000 EC2 instance, vytvořil jsem toto: bash script pro změnu můj EC2 instance typu, všechny instance název a typ jsou uloženy v souboru. kód je funkční, ale to trvá tak dlouho, spustit a to prostřednictvím například instanci. má někdo ví, jestli jsem může běžet AWS Cli příkaz na všechny EC2 instance v jednom jít ? Díky :) #!/bin/bash my_file='test.txt' declare -a instanceID declare -a fmo #Future Instance Size while IFS=, read -r COL1 COL2; do instanceID+=("$COL1") fmo+=("$COL2") do...
automation aws-automation aws-cli bash
2021-11-23 09:52:30
bash skript pro stejné řádky od 2 rozdílných souborů
Já jsem například soubor s názvem uživatele, a to je patří user1 user2 user3 a soubor s názvem newusers včetně: newuser1 newuser2 newuser3 a teď jsem třeba bash skript pro user1 a newuser1 a udělat nějaký příkaz, například 'mv user1 na newuser1' a atd. něco jako tohle, ale to není práce pro mě: user=cat users newuser= cat newusers for u in user ; for n in newuser; do mv $u $n done; done
bash centos linux sh
2021-11-23 07:21:43
bash : Špatné Střídání na pole variabilní
Níže je můj výpis ze selhání části: if [[ -n "${war_to_be_deployed-}" ]] ; then [[ "${#runtime_args[@]-}" == "${#expected_runtime_args[@]-}" ]] || _fatal "Failed runtime_args" for ((i=0 ; i<${#runtime_args[@]-} ; ++i)); do hody pod chybu v bash GNU bash, version 4.4.20(1)-release (x86_64-pc-linux-gnu). Co je to, že dělám chyby přiřazení nesprávné přípony ? děkuji. ${#runtime_args[@]-}: bad substitution
bash shell linux sh
2021-11-23 06:56:35
Význam [[ "$var" ]] v bash
Mám potíže přijít na to, co to dělá if [[ "$invoke" ]]; then Se podíval na bash manuál, který je 190 stran dlouho a nemohl identifikovat relavant části, které by mohly pomoci mi pochopit.
bash if-statement linux sh
2021-11-23 06:30:05