最新記事

shスクリプトでgrep出力を調整する
bash
shell-script
shell

shスクリプトでgrep出力を調整する

おやすみなさい、 MYSQLダンプに保存されているデータベースのリストを取得しようとしていますが、いくつかの設定を調整したいと思います。どうすればいいのかわかりません。 現在のコードは次のとおりです。 #!/bin/sh echo "What is the cPanel username!" read cpuser cd /home/${cpuser}/public_html sqldump=$(find . -name \*.sql -type f) sqlversion=$(grep "Server version" ${sqldump}) sqldbs=$(grep "CREATE DATABASE" ${sqldump}) echo "The dump location is" echo $sqldump echo "The SQL version is" echo $sqlversion echo "The databases in the dump are" echo $sqldbs 出力は(この場合) What is the cPanel username! domain1mysql4 The dump location is ./test/xxx/database/xxxx.sql The SQL version is -- Server version 4.1.14 The databases in the dump are CREATE DATABASE /*!32312 IF NOT EXISTS*/ `blog` /*!40100 DEFAULT CHARACTER SET latin1 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/ `blog1` /*!40100 DEFAULT CHARACTER SET latin1 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */; 最後に、2つの質問があります。 'blog' 'blog1' 'mysql'残りの行をリストせずに出力されるデータベースのみをリストできますか? 後でスクリプトから呼び出すために変数として保存することもできますか? フレディの調整出力 sh ./test.sh enter the cPanel username: domain10mysql4 ./home/saiprem/xxxxx/database/xxxx.sql:activesearch ./home/saiprem/xxxxx/database/x.sqxxxxl:alienstats ./home/saiprem/x/database/xxxxxx.sql:anahaw xxxx./home/saiprem/x/databasxxxe/xxxx.sql:b2 ./home/saiprem/x/database/x.sql:beeforumxxx

Admin

あるファイルの空白行を別のファイルの行に置き換える
bash
shell
find
csv
replace

あるファイルの空白行を別のファイルの行に置き換える

私は持っていますファイル1.csv "word 1" "" "word 3" "" "word 5" "word 6" そしてファイル2.csv "replacement text 1" "replacement text 2" "replacement text 3" "replacement text 4" "replacement text 5" "replacement text 6" file1に空の行(または ""のある行)があることを確認し、それをfile2の内容に置き換えるコマンドを探しています。 これ出力.csvしなければならない "word 1" "replacement text 2" "word 3" "replacement text 4" "word 5" "word 6"

Admin

fzfを使用してツリーからフィールドを取得する
bash
shell
fzf

fzfを使用してツリーからフィールドを取得する

私はこれを試しました tree -C | fzf --ansi | awk -F'|' '{print $NF}' ├── repo.git/ │   ├── folder/ │   │   ├── subfolder/ │   │   │   ├── output.0 │   │   │   └── traces.1 │   │   ├── subfolder/ │   │   │   └── fold/ │   │   │   └── subtree/ │   │   │   ├── .gitignore │   │   │   ├── stamp-h1 item │   │   │   └── stamp-h2 stamp-h1 itemつまり、ファイル名をつかみたいです。

Admin

構成更新の違いを表示することを選択した場合は、シェルで適切な設定を続行する方法
linux
debian
ubuntu
shell
apt

構成更新の違いを表示することを選択した場合は、シェルで適切な設定を続行する方法

いつものようにシェルで更新しましたが、設定プロセスの90%でプロファイルを更新したパッケージで、次のいずれかのオプションを入力するように求められました。 Yes(Y) No(N) Show the diff (D) 私は入ったD違いを示すために、問題はシェルがdiff画面に残り、キーボードでEnterをクリックするとdiff画面の最後に移動し、インストールを確認して続行する方法がわかりません。 どうすればいいですか?このような状況で進むことができる特別な近道はありますか?

Admin

bashを使用してCurlからランダムIPを生成する方法
bash
shell
curl

bashを使用してCurlからランダムIPを生成する方法

CurlリクエストでランダムなIPアドレスを使用する方法、Curlはこのコードを使用していますが、ローカルIPが返されます。 http://ifconfig.me printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" カールに curl --header 'X-Forwarded-For: printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))"' http://ifconfig.me

Admin

「2」で終わるすべてのファイルを削除するにはどうすればよいですか? [閉鎖]
bash
shell-script
shell
directory
rm

「2」で終わるすべてのファイルを削除するにはどうすればよいですか? [閉鎖]

閉鎖。この質問には詳細または明確性。現時点では回答は許可されていません。 この質問を改善したいですか?詳細を追加して質問を明確にしてください。この記事を編集してください。 閉鎖3年前。 この問題を改善する 誤ってバックアップファイルを2回コピーしたため、2つの同じファイルが作成されました。唯一の違いは、2つのファイルのうちの1つがスペースの後ろに「2」が付いていることです。 例: urh 2.sh urh.sh または vim tut vim tut 2 単一のコマンドでbashを介してこれらすべての重複エントリを再帰的に削除するにはどうすればよいですか?

Admin

ssh-add <(echo 'pk content') が機能しないのはなぜですか?
shell
ssh
cat
process-substitution

ssh-add <(echo 'pk content') が機能しないのはなぜですか?

次のエラーが発生します。 「/dev/fd/63」の権限 0660 がオープンしすぎます。あなたの秘密鍵ファイルは他の人がアクセスできないはずです。秘密鍵は無視されます。 私がこれを実行したとき: ssh-add <(echo '') 「ファイル」の権限を変更する方法はありますか?

Admin

Bash関数内の変数生成の動作
linux
bash
shell-script
shell
scripting

Bash関数内の変数生成の動作

外部スクリプトを強化するために、以下の関数を使用しています。主な目的は、ifconfigおよびpingテスト出力から一部のデータを返すことです。追加の「パイピング」を実行し、他の情報と再接続するために、変数を使用して同じ関数で設定しようとしています。しかし、私はこのような行動をとります。基本的に私がやりたいことは次のとおりです。 > for i in $(ifconfig | grep "inet addr" | tr -s " " | cut -d" " -f 3 | cut -d: -f2) ; do ping -c1 $i | grep packet | a=`echo $i-$(cut -d, -f3)` | echo $a; done 4 4 4 4 ご覧のとおり、各反復は数字4を返します。 変数属性のみを削除すると、最初に変数「a」が設定されていると予想される出力が得られます。 > for i in $(ifconfig | grep "inet addr" | tr -s " " | cut -d" " -f 3 | cut -d: -f2) ; do ping -c1 $i | grep packet | echo $i-$(cut -d, -f3); done 10.0.2.15- 0% packet loss 192.168.0.2- 0% packet loss 10.0.2.100- 0% packet loss 127.0.0.1- 0% packet loss 最初の関数コードの実行で数字4が出力されるのはなぜですか? 同じ関数内で変数を設定し、パイプの後に再エコーする方法は?それは可能ですか? ありがとうございます!

Admin

lsから標準エラーを取り除く
shell
ls
tcsh

lsから標準エラーを取り除く

存在しないファイル名を実行すると、出力はlsそれを報告します。その出力を削除したいのですが、ファイルが見つかったら報告し続けたいと思います。これはレポートの下のstderr出力ですか? $> ls foo ls: cannot access foo: No such file or directory 私はtcshを使用していますが、bashが代替かもしれません。

Admin

終了するたびに再起動するプロセスを作成する方法
linux
shell
process
background-process

終了するたびに再起動するプロセスを作成する方法

私はまさにその反対が欲しいこの問題。終了した後でも再起動されるプロセスを作成する方法を知りたいです。誰かが私に実装例を与えることができますか? 例えば、次のようにタイムスタンプを継続的に記録し、カウンタをログファイルにインクリメントする簡単なプロセスがあるとします。 #include #include #include #include #include #define FILE_PATH "/home/lincoln/date.log" int main() { time_t current_time; struct tm *time_info; int counter = 0; while (1) { FILE *file = fopen(FILE_PATH, "a"); if (file == NULL){ perror("Failed to open the file"); return 1; } // Get the current timestamp time(¤t_time); time_info = localtime(¤t_time); // Format the timestamp char timestamp[25]; strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", time_info); // Write timestamp and counter to the file fprintf(file, "%s | Counter: %d\n", timestamp, counter++); fflush(file); fclose(file); sleep(5); // Sleep for 5 seconds } return 0; } バイナリファイル(ELFファイル)を生成するには、次のコマンドを使用しました。 gcc logger_file.c -o date_test (これは単なる例であることに注意してください。継続的に印刷する「hello world」プログラムです。継続的に実行される効果を観察したいので、ロギングを選択しました。) ~から引用された質問(私が間違っている場合は修正してください。)これは、子プロセスの親プロセスを監視してこれを行います。子プロセスが終了すると、親プロセスはそれを再開します。概念は理解していますが、実際にどのように実装されているのかわかりません。 提供されたバイナリの例を使用してこれを実装する方法を示すことができる人はいますか? (私の研究へのより多くのリンクも歓迎します。) より多くの情報が必要な場合はお知らせください。 編集する:私の実装では、組み込みデバイスで実行する予定です。基本的に私が働く環境ではシステム初期化ブートシステムとしてビジーボックスv1.23.2armv7プロセッサで実行される3.18.44カーネルのツールセットとして使用されます(私はgcc-12-arm-linux-gnueabi-baseツールチェーンを使用しています)。

Admin