मेरे पास फ़ाइल और उसकी सामग्री है:

gnome-tweak-tool #(Cinnamon does not support)
gnome-system-monitor
gnome-calculator
gedit
nomacs gimp #(viewer and editor for image)
#aa
#bb

"pacman" की कमान के साथ विलय के बाद। मुझे आउटपुट चाहिए जैसे:

pacman -S gnome-tweak-tool 
pacman -S gnome-system-monitor
pacman -S gnome-calculator
pacman -S gedit
pacman -S nomacs gimp

क्या कोई मेरी मदद करता है? धन्यवाद!

-1
D.Wei 2 अक्टूबर 2018, 18:11

6 जवाब

सबसे बढ़िया उत्तर

यह अजीब वन-लाइनर काम करेगा:

awk -F'#.*' '$1&&$0="pacman -S "$1' file

ध्यान दें कि, pacman कई पैकेज स्वीकार करता है, जैसे:

pacman -S package1 package2 package3...
2
Kent 2 अक्टूबर 2018, 18:25

ये कोशिश करें। यह stdout को आउटपुट करेगा:

awk -F# '{print $1}' file | awk 'NF' | sed -e 's/^/pacman -S /'

यह एक नई फ़ाइल में आउटपुट होगा:

awk -F# '{print $1}' file | awk 'NF' | sed -e 's/^/pacman -S /' > file2
1
Yuki.kuroshita 2 अक्टूबर 2018, 18:37

ये कोशिश करें

sed -e 's/#.*$//' test.in | awk '{if (NF != 0) {printf("pacman -S %s\n", $0)} else {print $0}}'

उम्मीद है ये मदद करेगा

0
Lewis M 2 अक्टूबर 2018, 18:26

सबसे पहले # से शुरू होने वाली सभी लाइनों को हटा दें

 sed 's/#.*//g;/^$/d' file1.txt > tmp.txt

अब प्रत्येक पंक्ति के सामने pacman -S को संक्षिप्त करें

awk '{print "pacman -S " $0;}' tmp.txt > file1.txt

आशा है कि यह आपकी मदद करेगा

0
Abhijit Pritam Dutta 2 अक्टूबर 2018, 18:38

sed केवल:

sed -n 's/#.*//; /./ s/^/pacman -S /p' inputfile

व्याख्या:
sed -n जब तक निर्दिष्ट न हो प्रिंट न करें
s/#.*// '#' से सब कुछ हटा दें
/./ ... /p केवल उन पंक्तियों को प्रिंट करें जिनमें कम से कम चार बाईं ओर हों
s/^/pacman -S / लाइन की शुरुआत में "pacman -S" डालें

0
Walter A 2 अक्टूबर 2018, 21:39
pacman -Qqen > pkglist.txt

स्थापित करने के लिए:

pacman -S - < pkglist.txt

आर्कविकि से: https://wiki.archlinux.org/index.php/Pacman /Tips_and_tricks#List_of_installed_packages

0
A.Newgate 4 अक्टूबर 2018, 11:28