как объединить несколько маленьких скриптов в один? на bash с помощью оператора case, используя функции
Показать


1)
Показать
#!/bin/bash
echo "Количество строк в файле file_x"
wc -l file_x.txt
echo "Количество слов в файле file_x"
wc -w file_x.txt
echo "-------------------"
cat /dev/null > file_y.txt
awk '{print $NF}' file_x.txt » file_y.txt
cat file_x.txt > file_z.txt
cat /dev/null > file_x.txt
awk 'NF--' file_z.txt » file_x.txt
rm file_z.txt
echo "Количество строк в файле file_y"
wc -l file_y.txt
echo "Количество слов в файле file_y"
wc -w file_y.txt2)
#!/bin/bash
echo "Имя файла $1"
echo "Номер строки $2"
sed -n $2p $1 »123.txt
sed -i $2d $1
cat 123.txt »$1
rm 123.txt3)
#!/bin/bash
r=$(echo "`date | awk '{print $4}'`")
awk -v p="$USER","$r" '{print p,t,$0}' $1 »123.txt
cat 123.txt > $1
rm 123.txt4)
#!/bin/bash
echo "------------------"
awk 'NR%2==0 {print $0; print p}{p=$0}' $1 »123.txt
cat 123.txt > $1
rm 123.txt5)
grep "\<$2\>" "$1" | wc -l
exit 06)
a)
#!/bin/bash
echo "----------------"
awk '{print NR,$0}' $1 »123.txt
cat 123.txt > $1
rm 123.txtb)
#!/bin/bash
echo "---------------"
awk '{if (/qwe/) print (NR,$0); else print ($0)}' $1 »123.txt
cat 123.txt > $1
rm 123.txt7)
echo "Номера повторяющихся строк"
sort -n $1 | uniq -d | while read line;
do
cat -n $1 | grep $line
done | sort -n | awk '{print $1}'
echo -e "\nОтсортированный файл с удаленными повторами строк"
sort -u $19)
#!/bin/bash
echo "Vvedite komandu:
1 - удалить пустые строки
2 - удалить строки, содержащие ключевое слово "
read x y z
case $x in
1) sed '/^$/d' < $y ;;
2) sed "/^$z/d" < $y ;;
*) echo "neizvestno" ;;
esac10)
#!/bin/bash
cat $1 | tr [:lower:] [:upper:] ;
скрипты рабочие. пробовали по типу:
#!/bin/bash
echo "+-------------------------------------------------------+";
echo "|Выберите желаемое действие:|";
echo "+-------------------------------------------------------+";
echo "1: Выполнить скрипт 1
echo "2: Выполнить скрипт 2";
echo "3: Выполнить скрипт 3";
echo "4: Выполнить скрипт 4";
echo "5: Выполнить скрипт 5";
echo "6: Выполнить скрипт 6";
echo "7: Выполнить скрипт 7";
echo "8: Выполнить скрипт 8";
echo "9: Выполнить скрипт 9";
echo "10: Выполнить скрипт 10";
echo "0: Выход.";
read y;
case "$y" in
1 ) /home/nat/skript1/script1.sh;;
2 ) /home/nat/skript2/script2.sh;;
3 ) /home/nat/skript3/script3.sh;;
4 ) /home/nat/skript4/script4.sh;;
5 ) /home/nat/skript5/script5.sh;;
6 ) /home/nat/skript6/script6.sh;;
7 ) /home/nat/skript7/script7.sh;;
8 ) /home/nat/skript8/script8.sh;;
9 ) /home/nat/skript9/script9.sh;;
10 ) /home/nat/skript10/script10.sh;;
0 ) exit;;
* ) echo "Введите цифры от 1 до 6!"; ./index.sh;;
esac
че то не выходит.
Пожалуйста, испоьзуйте теги BBCode при оформлении сообщений. yars.