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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。

2
Bash:最後のコマンドの単語のすべての出現を置き換えます
ほとんど間違えて、私はあなたが次のようなことができると考えました: $ cp foo.data bar1.data $ ^bar1^bar2 そして、それはのbar2.data代わりに同じコマンドを実行しbar1.dataます。では、ターゲットワードが複数ある場合はどうでしょうか?例えば: $ cp foo.data bar.data $ ^data^index 最初のdata拡張子のみを置き換えます。両方を置き換えるにはどうすればよいですか?

5
(大きな)ディレクトリを別のディレクトリにコピーして、異なるファイルのみを変更するにはどうすればよいですか?
ディレクトリaとディレクトリbがあります。それらはおおきい。bはaとほぼ同じです。「ほぼ」とは、4〜5個のファイルが異なることを意味し、どのファイルであるかはわかりません。bをaにコピーしますが、異なるファイルのみをコピーします。私はバッシュです。 (いいえ、単純にaを削除してbに置き換えることはできません。1)aはバージョン管理されている2)フルコピー(またはmv)には時間がかかりすぎるからです。異なるファイルのみをコピーしたい)。
14 linux  bash  cp  file-transfer 

4
ダブルルートフォルダーとシングルルートフォルダー
Linuxボックスでは、bashで、2つのスラッシュで示される「二重ルート」フォルダーにアクセスできます。 tomas:~ $ cd / tomas:/ $ ls bin/ cdrom@ ... tomas:/ $ cd // tomas:// $ ls bin/ cdrom@ ... フォルダーとそのサブフォルダーの内容は、「通常の」シングルスラッシュルートと同じです。サブフォルダーにアクセスしても、二重スラッシュは消えません。異常は3つ以上のスラッシュで繰り返されません。これらはルートの単純な同義語です。 tomas:// $ cd home/tomas tomas://home/tomas $ cd /// tomas:/ $ cd //// tomas:/ $ どんな場所ですか?バグですか?誰もが異常を説明できますか?
14 linux  bash 

9
OS X上のSubversionファイルとフォルダーを除くすべてのファイルとフォルダーをコピーします
あるディレクトリから別のディレクトリにすべてのファイルとフォルダをコピーしようとしていますが、特定のファイルを除外しています。具体的には、Subversionのファイルとフォルダーを除外します。ただし、一般的かつ簡潔なソリューションが必要です。 近い将来、いくつかの種類のファイルを除外する必要があると思います。たとえば、.svn、*。bak、および* .prjを除外できます。 ここに私がそのようにまとめたものがありますが、それは私にとってはうまくいきません。最初の部分、findは動作しますが、xargsとcpで何か間違ったことをしています。私はcpを試してみました-R。また、私はOS Xを使用していますが、Linuxシステムよりも機能が少ないバージョンのxargsがあるようです。 find ./sourcedirectory -not \( -name .svn -a -prune \) | xargs -IFILES cp -R FILES ./destinationdirectory



1
なぜ `bind`と` .inputrc`の振る舞いが違うのですか?
私は正しいことをして、キーバインディングをに入れようとしています~/.inputrc。 しかし、私は変更しなければならないことが判明しました bind '"\e\C-j":"\e[1~quiet \e[4~\n"' に "\e\C-j": "\eOHquiet \eOF\n" 今\eOH(nav-block-pos1はにバインドbeginning-of-line)および\eOF(nav-block-endend-of-lineれています)は、それ自体が構成内のバインドであり、常に信頼できるとは限りません。 だから、主な質問は、なぜnum-block-pos1(\e[1~)とnum-block-end(\e[4~)へのバインドが機能するのか、ではbindないの~/.inputrcですか? 編集: 全体がさらに複雑になっています。 \e\C-jGnome Terminial(またはおそらくxtermも知っているだろう...)しか動作ないいます。 私のTTYには "\e\C-m": "\e[1~_quiet \e[4~\n" それでは、さまざまなVTがキーを解釈する方法または何を実装するのが異なるのでしょうか?

1
システムコマンドと同じ名前のユーザー定義関数をオーバーライドする
この関数は、ユーザーの〜/ .bashrcのいずれかに存在します。 function rm() { ls $* echo "rm?" read ans if [ "$ans" == 'y' ]; then /bin/rm $* fi } ユーザーが実行する必要がある私のkshスクリプトには、次のような行があります。 [[ "$KEEP" = "" ]] && \rm $FILE バックスラッシュはユーザー定義のエイリアスをエスケープしますが、スクリプトが同じ名前のユーザー定義関数を実行することを停止しません。その結果、システム関数の代わりにユーザーのrm()関数が呼び出されます。 このスーパーユーザーの質問の質問と応答が見つかりましたが、解決策は組み込みコマンドにのみ適用され、システムコマンドには適用されません。 エイリアスや関数ではなく、rmコマンドの呼び出しを強制するのに最適なものは何ですか?rmへのフルパスを指定する必要があり、確認するすべてのシステムコマンドが正しく実行されますか?もっと良い方法はありますか?
14 bash  alias  bashrc  ksh 

4
PowershellにBashのCtrl + Z&fgの類似物はありますか?
Ctrl + Zとそれに続くBashのfgとの組み合わせは非常に便利で、alt + tabのコマンドラインアナログに似ているため、1つのファイルの表示から実行中のプロセスの出力などに切り替えることができます。 Windows Powershell用のアナログはありますか?現在実行中のプロセスを停止するだけの「一時停止」以外は何もグーグルできませんが、コマンドラインに切り替えてから戻ることはできません。

4
OS XのbashでCtrl-Arrowが機能しないのはなぜですか?
使用するすべてのLinuxシステムでCtrl- ←とCtrl- を使用しています→が、これらのキーの組み合わせはMacbook Proのbashでは機能しません。Snow Leopardを実行しており、ビルトインターミナルアプリケーションを使用しています。 Linuxサーバーの1つにsshする場合、Ctrl- ←/ →を使用してコマンドラインの次/前の単語にジャンプできるため、キーの組み合わせはTerminalの前またはTerminalによってキャプチャされないようです。ただし、Macbookのbashでこのキーの組み合わせを試すと、右矢印が「C」、左矢印が「D」になります。 これらのキーをdarwin bashで動作させる方法についてのアイデアはありますか?
14 macos  bash 

3
パイプを使用してVimでファイルを開く方法
私はlocate非常に頻繁にコマンドを使用するようになります。 したがって、次のコマンドを実行すると。 locate updatedb | head -1 その後、それは私に与えます O/p /usr/updatedb.conf そのファイルを直接開くことができるようなコマンドがあるのだろうか? 私はこのようなことを望んでいます。 locate updatedb | head -1 | vim
14 linux  bash  vim  pipe  locate 

7
ID3タイトルタグをMP3ファイル名と等しくなるように設定する
メディアライブラリを通過し、各MP3ファイルのid3タイトルタグをファイル名に等しく設定するbashスクリプトを持っている人はいますか? 私は他の自動化された方法も受け入れています。GUIアプリケーション、またはジョブを自動的に実行するものであれば何でもかまいません。 EasyTagメソッドについては、次のとおりです。mp3ID3 ファイルの一括タイトルタグの名前を変更する方法 —残念ながら、手順がわかりません。
14 linux  bash  script  id3 

14
スクリプト:XMLファイルのタグの値を抽出する最も簡単なものは何ですか?
pom.xml(Mavenの「プロジェクトオブジェクトモデル」)を読み取り、バージョン情報を抽出したい。以下に例を示します。 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany</groupId> <artifactId>project-parent</artifactId> <name>project-parent</name> <version>1.0.74-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.sybase.jconnect</groupId> <artifactId>jconnect</artifactId> <version>6.05-26023</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>2.4</version> </dependency> </dependencies> </project> 上記からバージョン「1.0.74-SNAPSHOT」を抽出するにはどうすればよいですか? シンプルなbashスクリプトsedまたはawkを使用して、これを実行できるようになります。それ以外の場合は、単純なpythonが推奨されます。 編集 制約 Linuxボックスは企業環境にあるため、既にインストールされているツールのみを使用できます(xml2などのユーティリティを要求することはできませんが、大量の赤テープを使用する必要があります)。いくつかのソリューションは非常に優れています(既にいくつかの新しいトリックを学びます)が、環境が制限されているために適用できない場合があります 更新されたxmlリスト 依存関係タグを元のリストに追加しました。この場合、一部のハッキングソリューションが機能しない可能性があります ディストリビューション 私が使用しているディストリビューションはRHEL4です
14 linux  bash  unix  python  xml 

4
Makefile内でのbash拡張グロブ
特定のプレフィックス(たとえばexclude_)で始まらない特定のフォルダー内のすべてのファイルに対して操作を行いたい。for次のような拡張グロブを持つbash ループがあります。 for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done コマンドラインでは、これは正常に機能します。 $ for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done foo/bar/apple foo/bar/pear foo/bar/banana ただし、メイクファイルで使用する場合: target: for FILE in foo/bar/!(exclude_*) ; do echo $$FILE ; done 次のエラーが表示されます。 $ make for FILE in foo/bar/!(exclude_*) ; do echo $FILE …
14 bash  make 

5
終了後にvimスクリーンバッファーを以前のbashアクティビティに置き換える方法
私はbash(またはvim)機能が何であるかを見つけようとしています。これがシナリオです。私はbashターミナルにいて、vimで何かを編集してからbashに戻ります。一部の端末では、vimセッション画面が非表示になり、以前のbashシェルアクティビティが表示されます(これが必要ですか?)。 その他では、vimセッション画面バッファーが残ります(古いbashシェルアクティビティを非表示にします)。画面をクリアするか、bashアクティビティがそのvimセッションバッファーを画面から押し出すまで待つ必要があります。 vimセッションバッファを以前のbashアクティビティに置き換えるために、この動作をどのように制御できますか? ありがとうティム
14 bash  vim 

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