* xargsコマンドで,検索結果の画像ファイルを連続して画像ビューアアプリで開く,初めて知ったxargsのオプション2つ

:CATEGORIES: Linux

% locate -r '2017-11.*.jpg' |grep ブロック|xargs -L 1 -p eog


コマンド実行例
コマンドA | xargs -L 1 コマンドB

(コマンドAの出力1行ごとにコマンドBを実行する)

grep -l bash /etc/* 2>/dev/null | xargs -L 1 -p head -3

(headコマンドの実行内容をユーザーが1行ずつ確認してから実行する)

[source:]【 xargs 】コマンド――コマンドラインを作成して実行する:Linux基本コマンドTips(176) - @IT https://www.atmarkit.co.jp/ait/articles/1801/19/news014.html#sample3

 locate -r '2017-11.*.jpg' |grep ブロック|wc -lの結果は76となっていました。パイプでxargs -L 1 -p eogに渡すと,表示された画像を閉じるたびに,次の画像が表示され続けます。終了させるにはプロンプトが戻らない状態でCtrl-cで強制シグナルを送ります。

 xargsの-pオプションは,1つずつ確認をしながら実行するものでした。遅くても平成17年頃にはxargsコマンドを使うようになっていたと思いますが,今日まで知らなかったのが不思議で,新発見となりました。

実行例:
```
(py37_env) ➜ ~ locate -r '2017-11.*.jpg' |grep ブロック|cat -n|sed -E 's/^\s+//'
1 /kk/k_スクリーンショット/2017/2017-11/2017-11-03-101838_浜木綿弁窯衛門 @leplusallez > 手合いなとど素人に評されるいわれはないのでブロック、非常上告だかしらんけど一生やってろどうせ.jpg
2 /kk/k_スクリーンショット/2017/2017-11/2017-11-05-061640_ブロックされているため、@lawer_hamachanさんのフォローや@lawer_hamachanさんのツイートの表示はできません。詳細は.jpg
3 /kk/k_スクリーンショット/2017/2017-11/2017-11-05-061724_ブロックされているため、@bluebuggleさんのフォローや@bluebuggleさんのツイートの表示はできません。詳細はこちら.jpg
4 /kk/k_スクリーンショット/2017/2017-11/2017-11-05-112201_ブロックされているため、@kamatatylawさんのフォローや@kamatatylawさんのツイートの表示はできません。詳細はこちら.jpg
5 /kk/k_スクリーンショット/2017/2017-11/2017-11-06-042534_ブロックされているため、@un_co_the2ndさんのフォローや@un_co_the2ndさんのツイートの表示はできません。詳細はこちら.jpg
6 /kk/k_スクリーンショット/2017/2017-11/2017-11-06-225553_ブロックされているため、@rippy08さんのフォローや@rippy08さんのツイートの表示はできません。詳細はこちら.jpg
7 /kk/k_スクリーンショット/2017/2017-11/2017-11-07-114924_ブロックされているため、@GUv4i6さんのフォローや@GUv4i6さんのツイートの表示はできません。詳細はこちら.jpg
8 /kk/k_スクリーンショット/2017/2017-11/2017-11-07-115020_ブロックされているため、@ekinan_lawyerさんのフォローや@ekinan_lawyerさんのツイートの表示はできません。詳細はこち.jpg
9 /kk/k_スクリーンショット/2017/2017-11/2017-11-08-043621_ブロックされているため、@stdauxさんのフォローや@stdauxさんのツイートの表示はできません。詳細はこちら.jpg
10 /kk/k_スクリーンショット/2017/2017-11/2017-11-08-134647_ブロックされているため、@kyuhi_realizeさんのフォローや@kyuhi_realizeさんのツイートの表示はできません。詳細はこち.jpg
11 /kk/k_スクリーンショット/2017/2017-11/2017-11-11-123432_ブロックされているため、@cinghiale7474さんのフォローや@cinghiale7474さんのツイートの表示はできません。詳細はこち.jpg
12 /kk/k_スクリーンショット/2017/2017-11/2017-11-13-201706_ブロックされているため、@obiekt_JPさんのフォローや@obiekt_JPさんのツイートの表示はできません。詳細はこちら.jpg
13 /kk/k_スクリーンショット/2017/2017-11/2017-11-16-024847_ブロックされているため、@tomo_law_さんのフォローや@tomo_law_さんのツイートの表示はできません。詳細はこちら.jpg
14 /kk/k_スクリーンショット/2017/2017-11/2017-11-16-133847_ブロックされているため、@naotarou1981さんのフォローや@naotarou1981さんのツイートの表示はできません。詳細はこちら.jpg
15 /kk/k_スクリーンショット/2017/2017-11/2017-11-16-180327_ブロックされているため、@kyuhi_realizeさんのフォローや@kyuhi_realizeさんのツイートの表示はできません。詳細はこち.jpg
16 /kk/k_スクリーンショット/2017/2017-11/2017-11-18-210001_ブロックされているため、@TasukuMizunoさんのフォローや@TasukuMizunoさんのツイートの表示はできません。詳細はこちら.jpg
17 /kk/k_スクリーンショット/2017/2017-11/2017-11-19-124018_ブロックされているため、@kame_ishiさんのフォローや@kame_ishiさんのツイートの表示はできません。詳細はこちら.jpg
18 /kk/k_スクリーンショット/2017/2017-11/2017-11-20-175825_ブロックされているため、@t_hiraiさんのフォローや@t_hiraiさんのツイートの表示はできません。詳細はこちら.jpg
19 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-052836_ブロックされているため、@uzw1978さんのフォローや@uzw1978さんのツイートの表示はできません。詳細はこちら.jpg
20 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-053127_う  > ブロックしたやつのことについては言及しないというセルフルールを作っているがたまに破りそうになることがある.jpg
21 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-065800_ブロックされているため、@sioMinnさんのフォローや@sioMinnさんのツイートの表示はできません。詳細はこちら.jpg
22 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-073032_ブロックされているため、@calowyerさんのフォローや@calowyerさんのツイートの表示はできません。詳細はこちら.jpg
23 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-073058_ブロックされているため、@calowyerさんのフォローや@calowyerさんのツイートの表示はできません。詳細はこちら.jpg
24 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-075336_う  > ブロックしたやつのことについては言及しないというセルフルールを作っているがたまに破りそうになることがある.jpg
25 /kk/k_スクリーンショット/2017/2017-11/2017-11-21-163915_ブロックされているため、@kumaemon9さんのフォローや@kumaemon9さんのツイートの表示はできません。詳細はこちら.jpg
26 /kk/k_スクリーンショット/2017/2017-11/2017-11-23-131904_ブロックされているため、@yuikayanoさんのフォローや@yuikayanoさんのツイートの表示はできません。詳細はこちら.jpg
27 /kk/k_スクリーンショット/2017/2017-11/2017-11-24-151918_kk_hirono => ブロックされているため、@yiwaponさんのフォローや@yiwaponさんのツイートの表示はできません。詳細はこ.jpg
28 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-162942_ブロックされているため、@juntaba1さんのフォローや@juntaba1さんのツイートの表示はできません。詳細はこちら.jpg
29 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163007_ブロックされているため、@leplusallezさんのフォローや@leplusallezさんのツイートの表示はできません。詳細はこちら.jpg
30 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163030_ブロックされているため、@mackckckckさんのフォローや@mackckckckさんのツイートの表示はできません。詳細はこちら.jpg
31 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163051_ブロックされているため、@makotoakishigeさんのフォローや@makotoakishigeさんのツイートの表示はできません。詳細は.jpg
32 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163123_ブロックされているため、@nodahayatoさんのフォローや@nodahayatoさんのツイートの表示はできません。詳細はこちら.jpg
33 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163149_ブロックされているため、@noooooooorthさんのフォローや@noooooooorthさんのツイートの表示はできません。詳細はこちら.jpg
34 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163212_ブロックされているため、@okumuraosakaさんのフォローや@okumuraosakaさんのツイートの表示はできません。詳細はこちら.jpg
35 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-163235_ブロックされているため、@torakiti0405さんのフォローや@torakiti0405さんのツイートの表示はできません。詳細はこちら.jpg
36 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164245_ブロックされているため、@GUv4i6さんのフォローや@GUv4i6さんのツイートの表示はできません。詳細はこちら.jpg
37 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164306_ブロックされているため、@KTetsさんのフォローや@KTetsさんのツイートの表示はできません。詳細はこちら.jpg
38 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164329_ブロックされているため、@NOSUKE0607さんのフォローや@NOSUKE0607さんのツイートの表示はできません。詳細はこちら.jpg
39 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164348_ブロックされているため、@SATOMasakoさんのフォローや@SATOMasakoさんのツイートの表示はできません。詳細はこちら.jpg
40 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164409_ブロックされているため、@TasukuMizunoさんのフォローや@TasukuMizunoさんのツイートの表示はできません。詳細はこちら.jpg
41 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164433_ブロックされているため、@bluebuggleさんのフォローや@bluebuggleさんのツイートの表示はできません。詳細はこちら.jpg
42 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164457_ブロックされているため、@calowyerさんのフォローや@calowyerさんのツイートの表示はできません。詳細はこちら.jpg
43 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164600_ブロックされているため、@calowyerさんのフォローや@calowyerさんのツイートの表示はできません。詳細はこちら.jpg
44 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164622_ブロックされているため、@ekinan_lawyerさんのフォローや@ekinan_lawyerさんのツイートの表示はできません。詳細はこち.jpg
45 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164649_ブロックされているため、@ekinan_lawyerさんのフォローや@ekinan_lawyerさんのツイートの表示はできません。詳細はこち.jpg
46 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164720_ブロックされているため、@fukazawasさんのフォローや@fukazawasさんのツイートの表示はできません。詳細はこちら.jpg
47 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164750_ブロックされているため、@k_sawmenさんのフォローや@k_sawmenさんのツイートの表示はできません。詳細はこちら.jpg
48 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164822_ブロックされているため、@kamatatylawさんのフォローや@kamatatylawさんのツイートの表示はできません。詳細はこちら.jpg
49 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164850_ブロックされているため、@kame_ishiさんのフォローや@kame_ishiさんのツイートの表示はできません。詳細はこちら.jpg
50 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164917_ブロックされているため、@kasumi_shiroさんのフォローや@kasumi_shiroさんのツイートの表示はできません。詳細はこちら.jpg
51 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-164948_ブロックされているため、@keita_adachiさんのフォローや@keita_adachiさんのツイートの表示はできません。詳細はこちら.jpg
52 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165025_ブロックされているため、@kotadonさんのフォローや@kotadonさんのツイートの表示はできません。詳細はこちら.jpg
53 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165054_ブロックされているため、@kumaemon9さんのフォローや@kumaemon9さんのツイートの表示はできません。詳細はこちら.jpg
54 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165125_ブロックされているため、@kyuhi_realizeさんのフォローや@kyuhi_realizeさんのツイートの表示はできません。詳細はこち.jpg
55 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165156_ブロックされているため、@lawer_hamachanさんのフォローや@lawer_hamachanさんのツイートの表示はできません。詳細は.jpg
56 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165303_ブロックされているため、@motoken_twさんのフォローや@motoken_twさんのツイートの表示はできません。詳細はこちら.jpg
57 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165333_ブロックされているため、@nan5oさんのフォローや@nan5oさんのツイートの表示はできません。詳細はこちら.jpg
58 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165412_ブロックされているため、@naotarou1981さんのフォローや@naotarou1981さんのツイートの表示はできません。詳細はこちら.jpg
59 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165441_ブロックされているため、@nobu2794さんのフォローや@nobu2794さんのツイートの表示はできません。詳細はこちら.jpg
60 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165506_ブロックされているため、@penology_nagataさんのフォローや@penology_nagataさんのツイートの表示はできません。詳.jpg
61 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165535_ブロックされているため、@rippy08さんのフォローや@rippy08さんのツイートの表示はできません。詳細はこちら.jpg
62 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165604_ブロックされているため、@sakamotomasayukさんのフォローや@sakamotomasayukさんのツイートの表示はできません。詳.jpg
63 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165654_ブロックされているため、@sanngatuusaginoさんのフォローや@sanngatuusaginoさんのツイートの表示はできません。詳.jpg
64 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165723_ブロックされているため、@sioMinnさんのフォローや@sioMinnさんのツイートの表示はできません。詳細はこちら.jpg
65 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165750_ブロックされているため、@sollamameさんのフォローや@sollamameさんのツイートの表示はできません。詳細はこちら.jpg
66 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165827_ブロックされているため、@sspmiさんのフォローや@sspmiさんのツイートの表示はできません。詳細はこちら.jpg
67 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165852_ブロックされているため、@stdauxさんのフォローや@stdauxさんのツイートの表示はできません。詳細はこちら.jpg
68 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165920_ブロックされているため、@t_hiraiさんのフォローや@t_hiraiさんのツイートの表示はできません。詳細はこちら.jpg
69 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-165946_ブロックされているため、@thermalpaper00さんのフォローや@thermalpaper00さんのツイートの表示はできません。詳細は.jpg
70 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170018_ブロックされているため、@tomo_law_さんのフォローや@tomo_law_さんのツイートの表示はできません。詳細はこちら.jpg
71 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170045_ブロックされているため、@torakiti0405さんのフォローや@torakiti0405さんのツイートの表示はできません。詳細はこちら.jpg
72 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170113_ブロックされているため、@un_co_the2ndさんのフォローや@un_co_the2ndさんのツイートの表示はできません。詳細はこちら.jpg
73 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170142_ブロックされているため、@uwaaaaさんのフォローや@uwaaaaさんのツイートの表示はできません。詳細はこちら.jpg
74 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170212_ブロックされているため、@uzw1978さんのフォローや@uzw1978さんのツイートの表示はできません。詳細はこちら.jpg
75 /kk/k_スクリーンショット/2017/2017-11/2017-11-28-170240_ブロックされているため、@yjochiさんのフォローや@yjochiさんのツイートの表示はできません。詳細はこちら.jpg
76 /kk/k_スクリーンショット/2017/2017-11/2017-11-29-223919_ブロックされているため、@amneris84さんのフォローや@amneris84さんのツイートの表示はできません。詳細はこちら.jpg
(py37_env) ➜ ~
```

 何年か前,WindowsPowerShellで一度だけスクリプトを作成したことがあって,時刻と名前をファイル名にスクリーンショットを作成するコマンドでした。URLを1つずつ読み込んでブラウザで開き,スクリーンショットを記録するスクリプトも作れそうです。

 ブラウザを起動せずにスクリーンショットだけ作成するスクリプトというのも作ったことがあります。撮影日時の記録ができなかったのですぐに使わなくなりました。

 やはり「2017-11-03-101838_浜木綿弁窯衛門 @leplusallez > 手合いなとど素人に評されるいわれはないのでブロック、非常上告だかしらんけど一生やってろどうせ.jpg」が先頭にありましたが,コマンドの履歴を保存したファイルから貼り付けて実行したのが始まりです。

 しかし,76件のファイルの先頭にあったというのも巡り合わです。