タグ付けされた質問 「bash」

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

20
Bash配列から要素を削除する
bashシェルの配列から要素を削除する必要があります。一般的に私は単にやります: array=("${(@)array:#<element to remove>}") 残念ながら、削除したい要素は変数なので、前のコマンドは使用できません。ここに例があります: array+=(pluto) array+=(pippo) delete=(pluto) array( ${array[@]/$delete} ) -> but clearly doesn't work because of {} 何か案が?
116 arrays  bash  variables 

19
テキストファイルから改行を削除するにはどうすればよいですか?
次のデータがあり、すべてを1行に入力する必要があります。 私はこれを持っています: 22791 ; 14336 ; 22821 ; 34653 ; 21491 ; 25522 ; 33238 ; 私はこれを必要とする: 22791;14336;22821;34653;21491;25522;33238; 編集 これらのコマンドはどれも完全に機能していません。 それらのほとんどは、データを次のようにします。 22791 ;14336 ;22821 ;34653 ;21491 ;25522
116 linux  bash  scripting  shell  sed 


8
コマンドライン端末での乗算
ラボ端末への入力にシリアルターミナルを使用しています。私はそれを使って見つけました $ echo "5X5" の文字列を返すだけです"5X5"。乗算演算を実行するコマンドはありますか?
115 bash  unix  command-line 

5
検索を使用してサブディレクトリを除外する
私はこのようなディレクトリ構造を持っています data |___ | abc |____incoming def |____incoming |____processed 123 |___incoming 456 |___incoming |___processed Dataディレクトリ内のすべてのフォルダーに着信サブフォルダーがあります。def / incomingと456 / incoming dirsを除くすべてのフォルダーとサブフォルダーからすべてのファイルを取得したいと思います。次のコマンドで試してみました find /home/feeds/data -type d \( -name 'def/incoming' -o -name '456/incoming' -o -name arkona \) -prune -o -name '*.*' -print しかし、期待どおりに機能していません。 ラビ
115 bash  unix 

14
bashでwcから整数のみを取得
wcがbashで返す整数を取得する方法はありますか? 基本的には、ファイル名の後に行番号とワードカウントを画面に書き込みます。 output: filename linecount wordcount ここに私がこれまでに持っているものがあります: files=`ls` for f in $files; do if [ ! -d $f ] #only print out information about files !directories then # some way of getting the wc integers into shell variables and then printing them echo "$f $lines $ words" fi done
115 bash  wc 


16
「警告!PATHが正しく設定されていません」とrvm use 2.0.0 --defaultを実行する場合
上記は最初は機能せず、2回目は機能します。 新しいシェルウィンドウのルビバージョンを2.0.0に設定してみてください。 している $ rvm use 2.0.0 --default 与える Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/ bin' is not at first place, usually this is caused by shell initialization files - check them for ' PATH=...' entries, it might also help to re-add RVM to your dotfiles: 'rvm get …

30
Bashの$ PATH変数からパスを削除する最もエレガントな方法は何ですか?
より一般的には、Bash環境変数のコロンで区切られたリストからアイテムを削除するにはどうすればよいですか? 数年前に、より高度な形式のBash変数展開を使用する簡単な方法を見たと思ったのですが、そうだとすればそれを見失ってしまいました。Googleをすばやく検索したところ、関連する結果は驚くほど少なく、私が「シンプル」または「エレガント」と呼ぶものは見つかりませんでした。たとえば、sedとawkをそれぞれ使用する2つのメソッド: PATH=$(echo $PATH | sed -e 's;:\?/home/user/bin;;' -e 's;/home/user/bin:\?;;') PATH=!(awk -F: '{for(i=1;i<=NF;i++){if(!($i in a)){a[$i];printf s$i;s=":"}}}'<<<$PATH) 簡単なものは何もありませんか?Bashのsplit()関数に類似したものはありますか? 更新: わざとあいまいな質問をお詫びする必要があるようです。私は特定のユースケースを解決することよりも、良い議論を引き起こすことに関心がありませんでした。幸い、私はそれを手に入れました! ここにはいくつかの非常に巧妙なテクニックがあります。最後に、ツールボックスに次の3つの関数を追加しました。マジックはpath_removeで発生します。これは、主にMartin YorkのawkRS変数の巧妙な使用に基づいています。 path_append () { path_remove $1; export PATH="$PATH:$1"; } path_prepend () { path_remove $1; export PATH="$1:$PATH"; } path_remove () { export PATH=`echo -n $PATH | awk -v RS=: -v ORS=: …

11
コマンドライン(ターミナル)でRスクリプトを使用する最良の方法は何ですか?
コマンドラインから簡単なプロットを行うためのRスクリプトがあると非常に便利です。ただし、bashスクリプトからRを実行することは、まったく便利ではありません。理想は次のようなものかもしれません #!/path/to/R ... または #!/usr/bin/env R ... しかし、私はそれらのどちらも機能させることができませんでした。 もう1つのオプションは、スクリプトをRで純粋に保持するscript.RことR --file=script.Rです。たとえば、などでスクリプトを呼び出します。ただし、スクリプトは、コードの一部がスクリプトの外部に存在する不明瞭なコマンドラインスイッチに依存する場合があります。例:ローカルの.Rprofileを介してbashからRにこっそり入れると、目的のスイッチは--vanillaを除いてすべてが意味し--no-init-fileます。 もう1つのオプションは、Rフラグを保存し、簡単に実行できるようにするbashスクリプトで、これによりRスクリプトが呼び出されます。問題は、これが単一のプログラムが2つのファイルに分割され、同期を維持したり、新しいマシンに一緒に転送したりする必要があるということです。 私が現在最も嫌うオプションは、Rをbashスクリプトに埋め込むことです。 #!/bin/bash ... # usage message to catch bad input without invoking R ... # any bash pre-processing of input ... # etc R --random-flags <<RSCRIPT # R code goes here RSCRIPT すべてが1つのファイルに含まれています。実行可能で、引数を簡単に処理します。問題は、bashとRをこのように組み合わせると、IDEがどちらかで失敗しない可能性がほとんどなくなり、私の心が本当に傷つくことです。 私が見逃しているより良い方法はありますか?
114 bash  r 

17
Javaプロセスのリスト
すべてのJavaプロセスをbashでリストするにはどうすればよいですか?コマンドラインが必要です。コマンドpsがあることは知っていますが、使用する必要があるパラメーターがわかりません。
113 linux  bash  unix  command-line 


8
別のvi編集モードの別のbashプロンプト?
Bashでviモード(set -o vi)を使用する場合、現在のモード(挿入またはコマンド)に応じてプロンプトを表示すると便利です。この編集モードをどのようにして見つけますか? ところで、これはZSHで可能であるようです:
113 bash  prompt 

2
bashタブ補完はどのように機能しますか?
私は最近シェルで多くの時間を費やしており、タブのオートコンプリートがどのように機能するのか疑問に思っています。その背後にあるメカニズムは何ですか?bashはどのようにしてすべてのディレクトリの内容を知っていますか?
113 bash  shell  autocomplete 

5
巨大なファイル(80GB)を高速化する方法はありますか?
grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql これは、他の方法では過負荷にならないかなり強力なLinuxサーバーで1時間実行されています。grepに代わるものはありますか?改善できる構文について何かあります(egrep、fgrepの方がいいですか?) ファイルは実際には別のサーバーへのマウントと共有されているディレクトリにありますが、実際のディスクスペースはローカルなので、違いはありませんか? grepは最大93%のCPUを取得しています
113 bash  grep 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.