এক্সেসে টাইমস্ট্যাম্প = .ডেস্কটপ ফাইলের লাইন সম্ভব?


11

লুবুন্টু 16.04 - ওপেনবক্স সেশন

আমি টার্মিনালটি এর সাথে টাইম-স্ট্যাম্পযুক্ত ফাইল খুলতে ব্যবহার করতে পারি gedit:

gedit ~/$(date +%Y%m%d%H%M%S).txt

কমান্ডটি ওপেনবক্সে কীবোর্ড শর্টকাটের মাধ্যমেও ব্যবহার করা যেতে পারে।

<keybind key="W-4">        # gedit time-stamped file
  <action name="Execute"><command>sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'</command></action>
</keybind>

তবে আমি Exec=কোনও .desktopফাইলের লাইন দিয়ে এটি করতে পারি না ।

Exec=sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'

কেবল একটি ফাইল তৈরি করে ~/.txt

তাহলে আমি কীভাবে একটি ডেস্কটপ ফাইল পাব?


1
আমি মনে করি না .ডেস্কটপ ফাইলটি এর $()মতো উপ-শেল কমান্ড কল করতে পারে । আমি মনে করি আপনার অন্য একটি স্ক্রিপ্ট কল করা দরকার যা এতে আপনার ফাইল খোলার জন্য আপনার সাব-শেল কমান্ড রয়েছে।
টেরেন্স

অবশ্যই আমি এটা করব। =)
টেরেন্স

1
এইচআই @ ডেকেবোস। ডেস্কটপ ফাইলগুলি সাব শেল চালাতে পারে , যেহেতু Exec=/bin/bash -c "echo $(date) > ~/out.txt"ঠিক আছে। বিষয়টি +%Y%m%d%H%M%Sমনে হচ্ছে। এখনও এটি চিবানো।
জ্যাকব Vlijm

আমি ধরে নিলাম প্রথম জিনিসটি কাজ করে না কারণ% .ডেস্কটপ ফাইলগুলিতে এক্সিকিউটের জন্য কমান্ড লাইন আর্গুমেন্ট হিসাবে ইতিমধ্যে ব্যবহৃত হয়েছে এটি কোনওভাবে এড়ানো সম্ভব হতে পারে তবে অন্য সমাধানটি ঠিক আছে বলে মনে হচ্ছে। আমি এটি একটি মন্তব্য হিসাবে যুক্ত করতে হবে, কিন্তু আমার অ্যাকাউন্ট এখানে নতুন।
মিকেল কেজির

1
হাই @DKBose আমার উত্তরটি দেখুন :)
জ্যাকব ভিলিজম

উত্তর:


10

দুর্ভাগ্যক্রমে, .ডেস্কটপ ফাইলগুলি সর্বদা উপ-শেল $()কমান্ডগুলিকে আমরা যেভাবে চাই তা কল করে না। এটি করার একটি উপায় যা আমি পেয়েছি তা হ'ল অন্য স্ক্রিপ্ট তৈরি করা যাতে এতে ফাইলটি খোলার জন্য সাব-শেল কমান্ড থাকে।

Execলাইন অনুরূপ হবে:

Exec=/path/to/script

তাহলে আপনার স্ক্রিপ্ট ফাইলটিতে আপনার নতুন ফাইলটি খোলার কমান্ড থাকবে:

#!/bin/sh

gedit ~/$(date +%Y%m%d%H%M%S).txt

স্ক্রিপ্টটি কার্যকর করতে হবে:

chmod +x /path/to/script

আশাকরি এটা সাহায্য করবে!


@ জ্যাকবভিলিজম ইস্যুটি কি cronএমন কিছু দেখতে পাওয়া যায় যেখানে নির্দিষ্ট অক্ষর ( %?) এস্যাক করা দরকার?
ডি কে বোস

@ ডি কেবোস খুব ভাল হতে পারে, আমি এখনও এটি নিয়ে ঘুরে বেড়াচ্ছি, এবং আমার মনে হয় এটি কার্যকর হওয়া উচিত। একা সাবস্কেলগুলি কোনও ইস্যু নয়।
জ্যাকব Vlijm

আপনি @ JacobVlijm- কে পছন্দ করেছেন আমি খুঁজে পেয়েছি যে আমি এই জাতীয় ফাইলগুলির মধ্যে সাব-শেল কমান্ডগুলি এড়াতে পছন্দ করি, অনেকটা অ্যাপের ফাইলের মতো sources.listআপনি প্রকাশের নামটি $(lsb_release -sc)যেটি কাজ করে না তার সাথে প্রতিস্থাপন করতে পারবেন না । যদি আপনি এটি নির্ধারণ করেন তবে আপনি এটি কীভাবে করেছেন তা দেখতে আমি আগ্রহী। :)
টেরেন্স

হাই টেরেন্স, এটি কাজ করে! আমার উত্তরটি দেখুন ...
জ্যাকব ভিলিজম

@ জ্যাকবভিলিজম ব্যবহার করার চেষ্টা করুন +\%Y\%m\%d\%H\%M\%Sতবে এটি কাজ করা উচিত।
ভিডিয়োনাথ

8

সমস্যাটি

একটি স্ক্রিপ্ট প্রয়োজন হয় না।

সমস্যাটি এই নয় যে কোনও .desktopফাইল সাবসেলের সাথে কমান্ড চালাতে পারে না

Exec=/bin/bash -c "echo $(date) > ~/out.txt"

একটি .desktopফাইল পুরোপুরি সূক্ষ্ম কাজ করে ।

কমান্ডটি নিয়ে ঘুরে বেড়াতে, আমি এই সিদ্ধান্তে পৌঁছেছি যে %-চ্যারাক্টর সমস্যাটি সৃষ্টি করছে। যদিও এর জন্য আমার কোনও ব্যাখ্যা নেই এবং এখনও পর্যন্ত কীভাবে সমাধান করা যায় বা এড়ানো যায় সে সম্পর্কে আমি কোনও তথ্য পাইনি।

আমি সন্দেহজনক চরিত্রটি ব্যবহার না করে সময় পাওয়ার জন্য একটি আদেশের সন্ধান করতে গিয়েছিলাম ।

বিকল্পভাবে তারিখ ও সময়ের জন্য রুবি ব্যবহার করুন

এটি আমার দিকে পরিচালিত করে Ruby, যা কমান্ড থেকে বর্তমান তারিখ এবং সময় উত্পাদন করে:

$ ruby -e 'puts Time.now.inspect'
2016-05-29 16:12:36 +0200

আমরা যখন awkফাঁকা স্থান এবং ডিলিমিটারগুলি সরিয়ে, আউটপুটটি কিছুটা সম্পাদনা করি তখন আমরা যা চাই তা ঠিক রাখি এবং.desktop ফাইলটিতে একটি ওয়ার্কিং কমান্ড থাকে, যেহেতু আমরা ব্যবহার করি না %:

Exec=/bin/bash -c  "gedit ~/$(ruby -e 'puts Time.now.inspect' | awk -F'[: -]' '{print $1$2$3$4$5$6}')"


এখানে চিত্র বর্ণনা লিখুন

বিঃদ্রঃ!

কোনও সন্দেহ নেই, কমান্ডটি কিছুটা "চার্ম আপ" হতে পারে, আমি সম্ভবত আজ বা কাল উত্তরটি সম্পাদনা করব।


নিস! এটি অবশ্যই এটি করার অন্য একটি উপায়। আমার রুবি ইনস্টল করা হয়নি তবে এটি ইনস্টল হয়ে গেলে এটি অবশ্যই কাজ করে। আমি সম্মত হই যে এর সাথে বিবর্ণতা আপনি এটি যেভাবে চান তা দেখতে এটি পেতে পারেন। :)
টেরেন্স

@ টরেন্স এটি একটি আকর্ষণীয় প্রশ্নে পরিণত হয়েছে। এর আগে কখনও .desktopএই জাতীয় ফাইলগুলিতে কোনও সমস্যায়
পড়েনি

আমিও না. এটি জেনে রাখা ভাল এবং আমি খুঁজে পেয়েছি যে এই জাতীয় প্রশ্নের উত্তর দেওয়া অনেক সময় আমরা নিজেও অনেক কিছু শিখি। :)
টেরেন্স

1
@ টেরেন্স আমি যা জানি তার ৯৯% প্রশ্নের উত্তর দেওয়া শিখেছি :)
জ্যাকব ভ্লিজম

1
আপনি আমার উত্তরে আমার শব্দটি পরিবর্তন করতে আমাকে অনুপ্রাণিত করেছিলেন। আমি আমার সেরা পথের পরিবর্তে একতরফা হয়েছি। এবং এই জাতীয় পরিবর্তনগুলি যাতে লোকেরা মনে করে না যে এটি একমাত্র উপায়। ধন্যবাদ! :)
টেরেন্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.