मैं वास्तव में एक्सटेंशन के साथ नाम बदलने में लिंक शब्द को संरक्षित करना चाहता था अन्यथा खोजकर्ता फ़िलाटाइप को नहीं पहचानता।
इसलिए मैंने डैनियल के उत्तर का उपयोग किया (इसके लिए धन्यवाद) और इसे थोड़ा बदल दिया
for f in "$@"
do
dir=$(dirname "$f")
filename=$(basename "$f")
extension=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
filename="${filename%.*}"
ln "$f" "${dir}/$filename Hardlink$extension"
done
संपादित करें: जो मुझे लगता है कि बेहतर एक्सटेंशन हैंडलिंग कोड है - कोई एक्सटेंशन मौजूद नहीं होने पर रिक्त होना चाहिए। क्षमा करें, मैं स्क्रिप्ट कोडिंग में अच्छा नहीं हूं, इसलिए कृपया अपनी आवश्यकताओं के अनुसार कोई भी सुधार साझा करें।