xclipの選択でx文字で始まるテキストを取得し、ファイル名に追加する方法は?

xclipの選択でx文字で始まるテキストを取得し、ファイル名に追加する方法は?

そのため、xclipスクリプトでタイムスタンプの後にタイトルを追加する方法を学びたいと思います。各選択項目の先頭から約24文字のテキストを取得し、次のように保存したいと思います。

$timestamp_$24 文字 - 長い - タイトル - 開始 - テキスト.txt

または、開始テキストではなく選択項目から最も一般的な単語を取得するようにできますか?

可能ですか?そうでなければ何ですか?

これは私の現在のコードです。

  #!/bin/sh
  #
  #           _  _                                               _           _    _                    _    
  # __ __ __ | |(_) _ __  ___  ___ __ _ __ __ ___  ___  ___ ___ | | ___  __ | |_ (_) ___  _ _      ___| |_  
  # \ \ // _|| || || '_ \|___|(_-</ _` |\ V // -_)|___|(_-</ -_)| |/ -_)/ _||  _|| |/ _ \| ' \  _ (_-<| ' \ 
  # /_\_\\__||_||_|| .__/     /__/\__,_| \_/ \___|     /__/\___||_|\___|\__| \__||_|\___/|_||_|(_)/__/|_||_|
  #                |_|                                                                                      
  #
  # Save Selected Text Script
  # XFCE4: Applications > Settings > Keyboard
  # Attach this script to a custom keyboard shortcut to be able to save selected text

  xclip -i -selection primary -o > /location/to/save/$(date +"%Y-%m- %d_%H-%M-%S")_$SOME_START_TEXT_OF_SELECTION_PREFERABLY_ONLY_24_CHARACTERS_OF_TEXT.txt

答え1

もちろんこれを行うこともできます。技術を使用すると、ほぼすべてを行うことができます。正直に言えば、何を言うのかよく理解できないようです。しかし、私が理解しているように、関連するファイル名を持つ別のファイルにアイテムを保存するクリップボードマネージャのようなものを作成したいと思います。とにかく、以下を使用してください。

xclip -o > "/path/to/file/$(date +'%Y-%m- %d_%H-%M-%S')_$(xclip -o | cut -b-24).txt"

そして二重引用符を忘れないでください。それ以外の場合は、次のようになります。「あいまいなリダイレクト」。使用する選択項目が指定されていません。クリップデフォルトでは、デフォルト選択が使用されます。

答え2

私はこのスクリプトを使用して、あらゆる種類の便利なテキストスクラップ、コードスニペット、便利な記事、およびWeb上のほぼすべてを保存します。ドライブスペースを節約し、非常に迅速かつ簡単な方法です。

これにより、後でその情報を再表示したり、閲覧したいときにその情報に戻ることができます。

ただし、単純なタイムスタンプをファイル名として使用しても、特定のテキストファイルを再配置することは必ずしも簡単ではありません。その日保存したのですが。

これが私がこの質問をする理由です。ファイル名に内部コンテンツを表すいくつかの追加情報を追加しようとしています。ユーザーとシステムのための専門的できれいな状態を維持しながら。

ファイル名を追加すると、探しているテキストファイルを見つけるのに役立つことがわかります。


より良いファイル名認識機能を備えた新しいスクリプト:

 #!/bin/sh                                                                              
  # Save Selected Text Script
  # XFCE4: Applications > Settings > Keyboard
  # Attach this script to a custom keyboard shortcut to be able to save selected text

  xclip -o > "/mnt/SB_5TB_HDD/LOGS/save/$(date +'%Y-%m-%d_%H-%M-%S')_$(xclip -o | cat -s | perl -pe 's/\r?\n/ /' | perl -pe 's/\ /_/g' | sed 's/__/_/g' | cut -c1-30).txt"
  bash -c 'notify-send "Save Selected Text - Success!"'


  # break down of commands used to achieve desired filename: 
  # replaces multiple line breaks with single one
  # cat -s
  #
  # replaces line break with a space
  # perl -pe 's/\r?\n/ /'
  #
  # replaces spaces with underscores
  # perl -pe 's/\ /_/g'
  #
  # replaces 2 underscores with 1
  # sed 's/__/_/g'
  #
  # only uses first 30 characters of text
  # cut -c1-30

使用例:

次のテキストをすべて選択し、上記のスクリプトが実行されたら...

簡単なショートカットがあればいいでしょう...

  Recipe for Poop Popsicles



  things youll need

  your own poop 
  your moms favorite popsicle trays

  lol ok im done 
  blah

  blah
  blah blah 

  and ... blah.


  1 more blah.

これにより、上記で選択したすべてのテキストを含むファイルと退屈な古いタイムスタンプの代わりに、次のタイトルのファイル名が自動的に保存されます。

2019-01-27_00-41-58_Recipe_for_Poop_Popsicles_tr.txt

関連情報