そのため、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