web-dev-qa-db-ja.com

シェルスクリプトで複数のファイルを一度に隠す

いくつかのコマンドでいくつかのファイルを非表示にしようとしています。rmコマンドを試してみましたが、機能せず、名前を変更しようとしましたが、その機能が理解できませんでした。非表示にするファイルの名前にはスペースが含まれているため、名前の前にドットを置いて非表示にしたいだけです。誰も私を助けることができますか?

3
Patterson

ターミナルでこれを試してください

    $ for i in *
    > do
    > mv "$i" ".$i"
    > done

現在のディレクトリ内のすべてのファイルを非表示にします。それがあなたが探しているものであることを願っています。編集:$iの前後に引用符を追加しました。

2
sayantankhan

mmv を使用できます。

mmv -v "*" ".#1"

シンプルでポイントまで!

非表示に戻すには:

mmv -v ".*" "#1"
1
Radu Rădeanu
rename 's/^/./' file1.txt 'file with spaces' 'third file.mkd'

もちろん、グロブを使用できます。以下は、.txtで終わるすべてのファイルの先頭にドットを追加します。

rename 's/^/./' *.txt

または、fooで始まり.mkdで終わるすべてのファイルを非表示にすることもできます。

rename 's/^/./' foo*.mkd

renameは代替コマンドを使用しています:s/foo/bar/は最初のfoobarに置き換えます。 fooの代わりに、正規表現も使用できます。正規表現では、^は「行の始まり」を意味します。したがって、s/^/./renameに「行の先頭を.で置き換える」ように指示します。つまり、ドットを配置しますbefore最初の文字。

-nオプションを使用して「テスト実行」を行うこともできます-それにより、renameは実際にファイルの名前を変更しませんが、それが持つすべてのファイルをリストしますが変更されました。-nフラグを使用していませんでした。

rename -n 's/^/./' *.txt
1
evilsoup

Nautilusの表示から現在のディレクトリのすべてのファイルをすばやく非表示にするには:

ls * > .hidden

これにより、ファイル内の隠しファイルのリストが作成されます.hidden現在のディレクトリ内。もちろん、コマンドラインでこれらのファイルを非表示にすることはありません。Nautilusから非表示のファイルを表示することを選択した場合、それらは再び表示されます(.ファイル)。

ファイルのサブセットのみを非表示にするには、適切なワイルドカードを使用するか、.hiddenファイルをエディターで。

すべてのファイルを再び表示するには、.hiddenファイル。

1
Takkat

私が好む方法は、「Nautilus-Actions-Extra」パッケージの「nautilus-hide」を使用することです。

Sudo add-apt-repository ppa:nae-team/ppa
Sudo apt-get update
Sudo apt-get install nautilus-actions-extra nautilus-hide
nautilus -q

Nautilusでファイル/フォルダーを選択した後、コンテキストメニューから(Un)Hide> Hideを選択します。

これにより、非表示にするファイル/フォルダーのリストを含む「.hidden」という名前のファイルが作成されます。

0
Sadi