■ zip ファイルに含まれているファイルのリストを確認
$ unzip -l hogehoge.zip
■ zip ファイルに含まれているファイルの中身を確認
$ unzip -c hogehoge.zip hoehoe.txt | less
● unzip, zip, less, 中身, 解凍, 解凍しない, 解凍せずに, 解凍せず
主に Linux (Ubuntu, Fedora) 関連の設定メモ&小技集です。たまに Windows 関連ネタも。
(プロンプトの $ は一般ユーザ権限、# は root 権限です。いちいち説明はせんよ。)
$ unzip -l hogehoge.zip
$ unzip -c hogehoge.zip hoehoe.txt | less
● unzip, zip, less, 中身, 解凍, 解凍しない, 解凍せずに, 解凍せず
zip, tar.gz の中味までも ripgrep できる ripgrep-all。
これはいい。インストールは簡単。
(参考) https://github.com/phiresky/ripgrep-all
依存パッケージをインストール。
# apt install ripgrep pandoc poppler-utils ffmpeg
下記から、適当なリリースバージョンをダウンロードして解凍。
https://github.com/phiresky/ripgrep-all/tags
$ tar zxvf ripgrep_all-v0.9.6-x86_64-unknown-linux-musl.tar.gz $ cd ripgrep_all-v0.9.6-x86_64-unknown-linux-musl.tar.gz $ sudo cp rga rga-preproc /usr/bin/
rg のかわりに、rga を使えば OK。
$ rga hogehoge
● ripgrep, zip, tar.gz, rg, rga, rust, ripgrep-all
$ diff -qr --no-dereference aaa/ bbb/
● diff, no-dereference, シンボリックリンク
Emacs のコピー/ペーストをシステムのコピー/ペーストに反映させるには、autocutsel を使う。
(ウィンドウマネージャの起動時に実行するように設定する) autocutsel -fork autocutsel -fork -selection PRIMARY
■参考
https://stackoverflow.com/questions/3216081/integrate-emacs-copy-paste-with-system-copy-paste
● Emacs, emacs, copy, paste, system, integrate, コピー, ペースト, システム, 同期, 反映
sudo を実行するときに、proxy の設定とかが引き継がれないことがある。
sudo 実行時に、環境変数を引き継ぐオプション -E を使用すれば良い。
$ sudo -E ...
● sudo, 環境変数, proxy
cp コマンドで、ディレクトリごと上書きコピーする。
既にある foo ディレクトリに bar ディレクトリを上書きコピーする場合。
$ cp -r bar -T foo
● cp, directory, overwrite, ディレクトリ, 上書き, コピー, オプション, option
複数ファイルをテキストファイルにリスト化しておいて、wget でダウンロードさせる方法のメモ。
urls.txt ファイルにダウンロードしたい URL のリストを記述
$ vi urls.txt (下記を記述) ftp://hogehoge.org/hogehoge1.tar.gz ftp://hogehoge.org/hogehoge2.tar.gz ftp://hogehoge.org/hogehoge3.tar.gz
xargs と wget でダウンロード。wget の -c オプションは、レジューム。途中、停止したときに再開できる。
$ xargs -P 20 -n 1 wget -c --user=hogehoge --password=hogehoge < urls.txt
● wget, xargs, urls.txt, 一括, 自動, ダウンロード, レジューム, download
SVN で、チェックアウトしたローカルのツリーをサーバと同じ状態にしたいことがある。
make でいうところの、distclean みたいなやつ。
そんな便利コマンドは無いので、bash の function に SVN-DISTCLEAN というコマンドを追加する。
function SVN-DISTCLEAN () {
svn status --no-ignore
svn status --no-ignore | cut -c 2- | xargs rm -rf
svn revert -R .
svn update
svn status --no-ignore
}
ツリーに移動して、SVN-DISTCLEAN を実行。
作業中のファイルがある場合は、悲しいことになってしまうので注意。
$ SVN-DISTCLEAN
● SVN-DISTCLEAN, svn, distclean