Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

7
1つのコマンドで2つの異なるカット出力を組み合わせますか?
次のようなファイルがあります。 1234 ABCD EFGH 次のように変換したいと思います。 2341 BCDA FGHE 実際のファイルには4,000語あるので、効率的な方法でこれを実行したいと思います。コマンドを使用してみcut -c 2-4,1 file.txtましたが、入力とまったく同じ出力が生成されます。3つの異なるコマンドを使用できると考えていました。 cut -c 1 file.txt > temp1.txt cut -c 2-4 file.txt > temp2.txt // combine the two with paste or pr ...しかし、1つのコマンドを実行する方が、毎回3つのコマンドを実行するよりもエラーが発生しにくいので、わずかな変更を加えて複数回実行する必要があるため、単一のコマンドを好むでしょう。 2つのカットステートメントを1つに結合する方法はありますか?何かのようなもの: cut -c 1 file.txt | pr (cut -c 2-4 file.txt) または、これを行うためのより良い方法はありますか?


1
なぜvimはDOSの行末でファイルを作成するのですか?
私が持っています set fileformat=unix で、.vimrcまだvim(Cygwinで実行中)でファイルを作成すると、DOS形式のファイルを作成し続けるので、それらを実行してdos2unixクリーンアップする必要があります。(Gitは私のためにそれらをクリーンアップするので、本当に必要はないと思いますが、Unixの行末を使用するように特別に指示したUnixテキストエディタが余分なゴミでそれらを汚染しているのは、私を殺すだけです。 ) なぜこれが起こるのですか?どうすれば修正できますか?(そして、「修正」によって私がいない個々のファイルを変換するために私を必要とする何か。修正はありません平均。完全に壊れて何が。)
15 vim  windows  cygwin 

2
グロビングを使用する場合にのみrmをインタラクティブにできますか?(bash、zsh、またはその両方で)
たびに私rmシェルがグロブと少しでも可能性パターンが膨張し、私はそれが期待する以上のことがありますと一度に複数の項目、私はいつも追加することを忘れないようにしようとし-iたが、(もちろん)私は忘れ、誤って有益な何かを吹き飛ばすことができます。エイリアスを使用してこの問題を解決しようとする人もいますが、alias rm='rm -i'rmを常に対話型にするという考えは嫌い-fです。 私がやりたいのは、グロビングを使用rmする-iときにのみ使用し-f、もちろんオーバーライド-iすることrm -rf junkです。そのため、通常のでディレクトリ全体を吹き飛ばすことができます。 したがってrm *blah*、実際にはそうですrm -i *blah*がrm blah、入力したとおりに動作します。 異なるシェルでこれを達成する方法に違いがある場合、どちらか一方のみをカバーする回答よりもbash と zshの両方のメソッドを提供する回答を選択します。 注:私は実際にこれは必ずしも良いアイデアです確信していません。私はそれが可能かどうかを尋ねているだけです。これが馬鹿げた考えだと思うなら、あなたの意見の背後にある理由を聞いてとてもうれしいでしょうが、そのようなコメントを回答フィールドに投稿しないでください。本当の答えは、これを行う方法を教えてくれるか、それが不可能な理由を説明します(または、同様の結果を得るための代替方法を提供する可能性があります)。しかし、なぜこれが愚かであるかを私に伝えたい場合は、コメントとして投稿してください。結論に同意しなくても、理にかなったコメントを支持します。
15 bash  zsh  wildcards  rm 

2
パッケージ名にバージョン番号が含まれているのはなぜですか?
Ubuntuや他のDebianベースのディストリビューションで作業しているときに、ソフトウェアリポジトリのパッケージにメジャーバージョン番号が含まれていることが多いことに気付きました。 例えば、 Apache: apache2 Tomcat: tomcat7 PHP: php5 ワイン: wine1.4 MySQL: mysql-server-5.5 ただし、apache1利用可能なパッケージはなく、残りのパッケージも同様です。ソフトウェアの更新によってパッケージの名前が変更された場合、パッケージ管理の主要な目標の1つに邪魔になりませんか(簡単なアップグレード)。 明日Apache 3がapache3リリースされた場合、アップグレードする場合、パッケージを手動でインストールする必要がありますか?


2
モニターを仮想的に分割する方法はありますか(ウィンドウを最大化するため)
私の質問は本質的に、デュアルヘッドのセットアップがある場合、Linuxで通常のウィンドウマネージャーを使用して得られる動作を偽造できるかどうかです。つまり、ウィンドウを最大化すると、デスクトップの一部でのみ最大化され、1つの物理ディスプレイの領域に一致します。画面は1つしかありませんが、解像度はかなり大きく、ほとんどの場合、複数の独立したウィンドウを水平に並べて作業したいと思います。 タイルウィンドウマネージャーについて聞いたことがありますが、知っているのはコーナーグループのようなもので、他の一般的なウィンドウマネージャー(xfwm、compiz)のようには動作しません。私は現在xfwmを使用していますが、可能であればそれを使い続けたいと思っています。このタスクが必要な場合は、すぐに使用できる一般的なものと同じように動作するか、準備が整った構成が利用できるものをお勧めします。 私の頭に浮かんだ最初のハックは、xrandrが画面のジオメトリについて提供する情報を偽造し、そのアプローチを使用してウィンドウマネージャーをだまそうとすることでしたが、これは必要のない急なハックのようです。 私はfedora linuxを使用していますが、パッケージ管理に含まれていなければ、自分でソフトウェアをビルドすることもできます。


3
Muttでメールボックスを切り替える方法は?
「送信済み」メールボックスと現在のメールボックスを切り替えたい。maildirタイプを使用します。 理想的には、これを行うショートカットキーにバインドされたマクロがあるでしょう。
15 mutt 

5
gnome-terminalのF10が右クリックメニューを開くのはなぜですか?
Fedora 17 gnome(shell)3とgnome terminal 3.4.1.1を実行しています。 私はgnome-terminalとmidnight commanderの両方のユーザーです。デフォルトでは、gnome-terminalは常にF10(mcの使用中に必要)を使用して、トップメニューを開きます。今回もそうでした。いつものように、設定でその動作を無効にすることができました。 私にとって新しいのは、設定を無効にした後、F10キーを押したときにマウスカーソルで「右クリックメニュー」を開き始めたことです。キーもmcに移動しますが、メニューを常に閉じなければならないのは面倒です。 他のアプリでは発生しないため、gnomeターミナルが原因であると考えられます。これは「機能」またはバグですか、他の誰かが同じ問題に遭遇し、それを修正する方法はありますか?

5
「検索」速度を上げる方法はありますか
findターミナルの速度を上げる方法があるのだろうか、インターネットgoogleを使用して検索することは、文字列やファイル名だけをローカルに検索するよりも高速であるとは意味がありません。 一度構築されたローカルインデックスベースを使用する方法があるのではないかと思っていますが、将来的には、findコマンドは非常に高速になります。 または他の提案? ありがとう!
15 find 

1
式で$なしの変数展開が機能するのはなぜですか?
#!/bin/bash VALUE=10 if [[ VALUE -eq 10 ]] then echo "Yes" fi 驚いたことに、これは「はい」を出力します。私はそれが必要になると期待していたでしょう[[ $VALUE -eq 10 ]]。のCONDITIONAL EXPRESSIONSセクションをスキャンしましたがman bash、この動作を説明するものが見つかりませんでした。

4
sudoは/ etc / sudoersを開けません
sudo動作しません。BTRFSでフォーマットされたUSBキーにArch Linuxをインストールしています。「sudo」を実行したときの出力は次のとおりです。 $ sudo sudo: unable to stat /etc/sudoers: Permission denied sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin $ ls -l /etc/sudoers -r--r----- 1 root root 2849 May 18 15:00 /etc/sudoers $ lsattr /etc/sudoers --------------- /etc/sudoers $ ls -ld /etc drwxr-xr-x 1 root root …
15 arch-linux  sudo 


2
将来のある時点で発生する単一のイベントをスケジュールする簡単な方法は何ですか?
多くの場合、コンピューターに1つのタスクを実行させたいが、今はそうではない場合があります。たとえば、仕事を辞める時間であることを30分で通知することができます。または、他のほとんどの人がオフィスを去ると確信している2時間後に複雑なテストを実行したいかもしれません。 cronジョブを作成して特定の時刻に実行できることはわかっていますが、「このスクリプトを10分で実行する」のような簡単なことだけでなく、多くの作業が必要なように思えます。今から実際にX分/時間/日になるのか、終了したらcronジョブを削除します。 もちろん、このスクリプトを作成してバックグラウンドで実行することもできます。 sleep X do_task しかし、それは非常に不格好なようです:各タスクに新しいスクリプトが必要か、または必要なことを実行するのに十分な汎用スクリプトを作成して維持する必要があります。数時間または数日です。 この問題に対して既に確立された解決策はありませんか?

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