Jak uniknąć usuwania pierwszej linii skryptu? - Bash

0

Problem jest taki: chcę usunąć komentarze ze skryptu.
Mój kod:

grep -E -v '^\s*#|^\s*$|^\s*;' plik.txt

Usuwa wszystko tak jak chcę, ale jest mały problem. Usuwa też pierwszą linię ```
#!/bin/bash

2

Metoda na chama:
head -1 plik.txt && grep -E -v '^\s*#|^\s*$|^\s*;' plik.txt

5

Metoda nie chama:

awk 'NR==1 || $0!~/^\s*#|^\s*$|^\s*;/' file.txt
3

Wersja nie na chama nr 2:
sed -nre '2,/^\s*#|^\s*$|^\s*;/!p' ;)

0

No to tak skoro już reszta Ci działa to napiszę kawałek skryptu z dodatkiem tego twojego i będzie jak ulał, żeby pozostał Ci interpreter #!/bin/bash

Kod:

#!/bin/bash

twoj_plik=plik.txt

for i in `cat $twoj_plik`
do
if [ $i == '#!/bin/bash' ]; then
echo "#!/bin/bash" > tymczas.txt
else
echo "$i" >> tymczas3.txt
fi
done
echo " " > $twoj_plik
a=`grep -E -v '^\s*#|^\s*$|^\s*;' tymczas3.txt`
b=`cat tymczas.txt`
echo "$b" > $twoj_plik
echo "" >> $twoj_plik
echo "$a" >> $twoj_plik
rm tymczas3.txt
rm tymczas.txt

1 użytkowników online, w tym zalogowanych: 0, gości: 1