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

シェルとは、ユーザーがオペレーティングシステムとやり取りできるようにするソフトウェアで、通常はコマンドラインで入力します。

1
シェルスクリプト:同じ名前のフォルダーが存在しない場合にファイルを削除する
一連のフォルダーと一連の*.DATファイルがあります。同じ名前(なし)のフォルダーが存在しない場合 、*.DATファイルを削除します.DAT。 このソリューションに到達するまでに時間がかかりました。 find . -type d > dirs.txt for F in `find *.DAT` do F=$(sed 's|\.DAT||g' <<< $F) if grep "$F" dirs.txt; then echo "$F found" else rm $F.DAT fi done しかし、はるかに簡単な解決策があるはずだと思います(エレガントなワンライナー?ファイルを作成せずに...?)。私は正しいですか?
shell  grep  sed 


2
BASH-文字列内の部分文字列の出現回数を数える
Bashを使用して文字列内の部分文字列の出現回数をカウントするにはどうすればよいですか? 例: この部分文字列が何回か知りたい... Bluetooth Soft blocked: no Hard blocked: no ...この文字列に出現しています... 0: asus-wlan: Wireless LAN Soft blocked: no Hard blocked: no 1: asus-bluetooth: Bluetooth Soft blocked: no Hard blocked: no 2: phy0: Wireless LAN Soft blocked: no Hard blocked: no 113: hci0: Bluetooth Soft blocked: no Hard blocked: no 注I: …


1
Mac OS Xのシェルプロンプトの色
OS X Lionで色を追加してシェルプロンプトをカスタマイズしようとしているので、.bashrcを編集しましたが、ルートアカウントの違いしか見ることができません。したがって、.bashrcを編集した後: PS1="[\u][\w] :" そして、私が得るターミナルを実行します Phil:~ phil$ sudo -s [root][~] : しかし、ルートアカウントの違いのみが表示されます。どうすれば修正できますか? 表示したい: [Phil][~] : sudo -s [root][~] :

1
ログファイルから1時間ごとのデータをカウントする
ログファイルから1時間ごとにレコード数を取得したい。サンプルデータは次のとおりです。 001:2017-05-23 00:00:01 002:10.10.10.63 001:2017-05-23 00:00:03 002:10.10.10.63 001:2017-05-23 00:00:05 002:10.10.10.63 001:2017-05-23 00:00:07 002:10.10.10.63 001:2017-05-23 00:00:09 002:10.10.10.63 001:2017-05-23 01:00:12 002:10.10.10.63 001:2017-05-23 01:00:14 002:10.10.10.63 上記からのデータ出力は次のとおりです。 00 = 5 01 = 2
linux  shell 

2
MAC OS Xのフォルダーに所有者を追加する方法は?
MAC OS Xのフォルダーに所有者を追加しようとしています。 chownを使用しようとしましたが、所有者が別の新しいユーザーに変更されます。変更したくないので、新しい所有者を追加したいだけです。 詳細: 所有者が管理者ユーザーである「test」フォルダーがあります。管理者ユーザーの所有者を削除せずに、所有者Admin2をそのフォルダーに追加します。どうすればいいですか? どうもありがとう。 ユーザーを追加するような同じ効果が欲しい:UI +から。

3
CPU周波数を手動で設定するにはどうすればよいですか?
私はシェルから次のことを試しました: cat scaling_governor userspace cat scaling_available_frequencies 3326000 3325000 3192000 3059000 2926000 2793000 2660000 2527000 2394000 2261000 2128000 1995000 1862000 1729000 1596000 echo 2793000 > scaling_setspeed bash: scaling_setspeed: Permission denied sudo echo 2793000 > scaling_setspeed bash: scaling_setspeed: Permission denied echo 2793000 | sudo tee scaling_setspeed bash: scaling_setspeed: Permission denied 私はなぜこれが起こっているのか理解できません。どんな助けも大歓迎です。ありがとう!

2
なぜrmコマンドはこのように振る舞い、どのようなダメージを与えたでしょう
amがディレクトリ/ home / userAにあると仮定します / u / xml / xmlfilesを指す環境変数$ XMLFILESがあります。$ XMLFILES環境変数はuserAの環境/プロファイルにあります userAとしてログオンしてから、「su」をuserBにログオンし、/ home / userB / testdataにcdします。 私はuserBであることに気づかなかったので、コマンドを発行しました rm $XMLFILES/* そして突然私はこれを見ます bash-3.00$ rm $XMLFILES/* rm: /bin not removed: Permission denied rm: /boot is a directory rm: /cdrom is a directory rm: /dev is a directory rm: /devices is a …

0
suでコマンドを実行中にシェルパラメーターを追加するにはどうすればよいですか?
状況。特別なシェルに遅れをとる制限されたユーザーの環境をデバッグしています。これを行うには、次のようにsuを使用して、完全なコンテキストでそのユーザーとしてコマンドを実行する必要があります。 su - $user -c "echo hello world" --shell /bin/custom_shell / bin / custom_shellが実行するコマンドのコマンドとパラメーターを明らかに変更できますが、custom_shellが実行するパラメーターを追加するにはどうすればよいですか?「--debug」パラメーターを追加することと同等の例: root->su - $user $user->/bin/custom_shell --debug --command "echo hello world" 注:ログイン中に行われる多くのプロファイル変数と作業ディレクトリの変更があるため、sudoはこれに対して機能しません。したがって、suを使用している理由です。また、これは奇妙な断続的な問題であり、そうでなければスクリプトを実行して実行する必要があります。su-$ userとコマンドを手動で実行すると動作する場合があります。

1
Java接続後のシェルスクリプトプロンプト
Javaプロセスを起動するシェルスクリプトの途中にプロンプ​​トを配置しようとしていますが、Java接続の遅延のため、プロンプトが常に最初に実行されます。Javaプロセスが接続されて開始されるまで実行しないようにプロンプ​​トを保留する方法はありますか? #!/bin/bash # Starting java processes in the background java .... & java .... & java .... & # Prompt user echo -n "Would you like to run the script? (y/n) --> " read answer . . .

1
findはすべてのファイルを検索しません
私は次のファイル/ディレクトリ構造を持っています: tsunami # find . . ./dir1 ./dir1/dirinner ./dir1/dirinner/innerfile ./logs ./messages 私は再帰的にファイルを見つけて、find / execを使用してそれらを処理しようとしています。 findのバージョン(busyboxに付属)では、ここで説明したように、execコマンドで検出されたファイル名を複数回使用することはできません。そこで、提案された解決策の1つを使用しました。だから、私はこれを書き直した: find * -type f -exec echo {} + これに: find * -type f -exec sh -c 'echo $0' {} + ただし、新しいバージョンでは、最も内側のファイルのみが検索され、他のファイルは検索されません。 両方の出力は次のとおりです。 tsunami # find * -type f -exec echo {} + dir1/dirinner/innerfile logs messages …
linux  shell  find 

1
多くのサブディレクトリにある多くのzipファイルを、すべて特定の異なるディレクトリに解凍する方法
zipファイルのリストがあり、その中の各zipファイルには他のzipファイルなどもあります。ubuntuシェルコマンドを使用してそれらをすべて抽出し、拡張子が* .pdfのファイルのみを新しい空のディレクトリに取得する必要があります。 これが私がやってきた場所です。unzip-l "* .zip"を試しました。

1
ディレクトリに親フォルダを作成するより古いファイルを見つけて、そこに移動します
私は次のことを行うbashスクリプトを作成しようとしています。 findコマンドを使用して、7日より古いファイルを検索しfind . -type f -mtime +7 ! -iname '.*'(、見つかったファイルの親ディレクトリを取得parent directoryし、別のディレクトリに名前を持つ新しいフォルダーを作成し、_todaysDate(date '+%m%d&y)を追加して、そこに見つかったファイルを移動します。 これを行うには何が最善でしょうか?while?for?doループ?どうやってそれをやりますか? 前もって感謝します! 編集:ファイル構造の例を示します folder1 - folder2 -oldfile1 folder1a - folder2a -folder3a -oldfile2 ---- In a new directory, a new folder would be created ( and that folder's name would be the parent folder of the old file, and …

1
の結果| 変数内のgrep
これが私のスクリプトです: var= $( $line | grep -Po '.*(?=.fr)' ) echo $var 私はエラーがあり、それだけが表示されます: command not found 何が悪いのかご存知ですか?

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