複数のファイルは、ファイル名を出力するコマンドが少なくなります。

複数のファイルは、ファイル名を出力するコマンドが少なくなります。

処理するファイル名のリストをless *.txt使用して、多くのファイルを手動で参照できるようにしたいです。:nそのようなことは可能ですか?この目的に適した他のツールはありますか?

答え1

独自のless特殊コマンドキーを設定できます。ファイルを作成~/.lesskeyし、先頭に次の2行を入力します。

#command
ok shell echo % >>/tmp/list\n

その後、コマンドを発行します。

lesskey

コンパイルされたファイル。lessそのファイルに対してコマンドを実行し、ファイル名を保存するには2文字を入力してくださいok。エコーが表示されます。

!echo myfilename >>/tmp/list
!done  (press RETURN)

現在のファイル名(%)をに保存します/tmp/list。続行するにはEnterを押します。私はokランダムに順序を選んだ。必要な単一文字または一連の文字を使用できます。:n行末にコマンドを追加するか、次のファイルに移動できます。shell~/.lesskey


ファイルがない場合は、lesskey上記のファイルで実行し、base64いくつかのバイナリが含まれているので、渡しました。たぶんこれを試してみてください。

echo 'AE0rR2MaAG9rAJtlY2hvICUgPj4vdG1wL2xpc3QKOm4AZQAAdgAAeEVuZA==' | base64 -d >~/.less

答え2

1つのアプローチは、最小限のキーストロークで操作を実行するスクリプトを書くことです。ただし、スクリプトを徹底的に作成してテストする時間がない場合は、あなたが持っているlessバージョンに応じて使用することができます。

バージョン444を使用してlessテストされており、以下はサンプル練習です。

まず、a.txt b.txt c.txt d.txt 4つのファイルがあるとします。

$ less *.txt

a.txtが良く見えるので、次のコマンドを使用して次の内容を確認できます。:n

b.txtが間違っているようです。マークアップするには、次のように入力します。

! echo % | tee -a bad.txt

応答性が低い:

b.txt
!done  (press RETURN)

続けて:n

c.txtは大丈夫です。続ける:n

d.txtも悪いようですが、すべてのキーストロークを再入力する必要はありません。!矢印を上に上げると、最後のコマンドが自動的に入力され、次のd.txt場所に保存されます。bad.txt

それではqあまり注意しなければなりません。

これで保存されたリストを見ることができます。

$ cat bad.txt
b.txt
d.txt

説明する

  • ! shell commandもちろん、%が現在のファイルであるシェルコマンドを実行してください。
  • using はteeオプションです。コマンドを実行した後、保存したファイル名の追加表示が表示されます。
  • -a追加してください。それ以外の場合は上書きされ、bad.txtには1つのレコードしか残りません。
  • ! echo % >> bad.txtbad.txt に追加することもできます。

答え3

lessこれを行う必要がある場合は、1つのタブと隣接するviタブを持つタブ端子を使用してください。

タグ付けしたいファイルに到達したら、画面下部のファイル名をダブルクリックしてタブに切り替え、[貼り付け]をマウスの中央ボタンでクリックし、をタップしてlessもう一度タブに切り替えます。viENTERless

ファイルが数十を超える場合(つまり、数分以上かかる場合があります)、1つ以上の一般的なツール(、、grepなどawkperlを使用して選択プロセスを自動化する方法を見つけようとします。

grep簡単な検索awkperlより複雑な検索に使用します。

関連情報