mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-11-11 12:07:39 +01:00
feat: first version of examples
This commit is contained in:
parent
871937406b
commit
868dd14e14
Binary file not shown.
@ -3,7 +3,6 @@
|
|||||||
# simple version
|
# simple version
|
||||||
|
|
||||||
# the name of the script without a path
|
# the name of the script without a path
|
||||||
name=`basename $0`
|
|
||||||
|
|
||||||
help()
|
help()
|
||||||
{
|
{
|
||||||
@ -26,6 +25,15 @@ uppercase()
|
|||||||
error_msg "missing filename for -u"
|
error_msg "missing filename for -u"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
if test -f "$1"
|
||||||
|
then
|
||||||
|
if test -d "$1"
|
||||||
|
then
|
||||||
|
error_msg "$1 is neither a file nor folder"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
mv "$1" $(echo "$1" | sed -r -e 's/.*/\U&/');
|
mv "$1" $(echo "$1" | sed -r -e 's/.*/\U&/');
|
||||||
|
|
||||||
|
|
||||||
@ -62,8 +70,15 @@ sneed()
|
|||||||
error_msg "missing sed filename"
|
error_msg "missing sed filename"
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
echo "$1"
|
if test -f "$2"
|
||||||
echo $1
|
then
|
||||||
|
if test -d "$2"
|
||||||
|
then
|
||||||
|
error_msg "$2 is neither a file nor folder"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
mv "$2" $(echo "$2" | sed $1)
|
mv "$2" $(echo "$2" | sed $1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,24 +95,30 @@ recursionSneed()
|
|||||||
error_msg "missing sed filename"
|
error_msg "missing sed filename"
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -d "$2"
|
if test -f "$2"
|
||||||
then
|
then
|
||||||
sneed "$1" "$2"
|
if test -d "$2"
|
||||||
cd "$2"
|
then
|
||||||
for file in *
|
error_msg "$2 is neither a file or folder"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
filename="$2"
|
||||||
|
sneed "$1" "$filename"
|
||||||
|
filename="$(echo "$filename" | sed $1)"
|
||||||
|
echo $filename
|
||||||
|
for item in "$filename"/*
|
||||||
do
|
do
|
||||||
recursionSneed "$1" "$file"
|
if test -d "$item"
|
||||||
|
then
|
||||||
|
recursionSneed "$1" "$item"
|
||||||
|
fi
|
||||||
|
if test -f "$item"
|
||||||
|
then
|
||||||
|
sneed "$1" "$item"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
fi
|
|
||||||
|
|
||||||
if test -f "$2"
|
|
||||||
then
|
|
||||||
sneed "$1" "$2"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
recursionLowercase()
|
recursionLowercase()
|
||||||
@ -120,7 +141,7 @@ recursionLowercase()
|
|||||||
recursionUppercase()
|
recursionUppercase()
|
||||||
{
|
{
|
||||||
uppercase "$1"
|
uppercase "$1"
|
||||||
set "$(echo "$1" | sed -r -e 's/.*/\L&/')"
|
set "$(echo "$1" | sed -r -e 's/.*/\U&/')"
|
||||||
for item in "$1"/*
|
for item in "$1"/*
|
||||||
do
|
do
|
||||||
if test -d "$item"
|
if test -d "$item"
|
||||||
@ -158,7 +179,6 @@ error_msg()
|
|||||||
echo "$name: error: $1" 1>&2
|
echo "$name: error: $1" 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
# function for servicing -w option
|
|
||||||
|
|
||||||
|
|
||||||
# if no arguments given
|
# if no arguments given
|
||||||
@ -169,17 +189,13 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# do with command line arguments
|
# do with command line arguments
|
||||||
while test "x$1" != "x"
|
case "$1" in
|
||||||
do
|
-h|--help) help;;
|
||||||
case "$1" in
|
-l|--lowercase) lowercase "$2";;
|
||||||
-h|--help) help;;
|
-r|--recursion) recursion "$2" "$3" ;;
|
||||||
-l|--lowercase) lowercase "$2";;
|
-u|--upercase) uppercase "$2";;
|
||||||
-r|--recursion) recursion "$2" "$3" ;;
|
*) sneed "$1" "$2" ;;
|
||||||
-u|--upercase) uppercase "$2";;
|
esac
|
||||||
*) sneed "$1" "$2" ;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
77
EOPSY/task1/modify_examples.sh
Normal file → Executable file
77
EOPSY/task1/modify_examples.sh
Normal file → Executable file
@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
touch a
|
||||||
|
touch B
|
||||||
|
touch SED
|
||||||
|
mkdir foldera
|
||||||
|
mkdir FOLDERB
|
||||||
|
mkdir FOLDERSED
|
||||||
|
mkdir upperfoldermain
|
||||||
|
cd upperfoldermain
|
||||||
|
touch upperfilesub
|
||||||
|
mkdir upperfoldersub
|
||||||
|
cd upperfoldersub
|
||||||
|
touch upperfilesubsub
|
||||||
|
cd ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
mkdir LOWERCASEFOLDERMAIN
|
||||||
|
cd LOWERCASEFOLDERMAIN
|
||||||
|
touch LOWERFILESUB
|
||||||
|
mkdir LOWERFOLDERSUB
|
||||||
|
cd LOWERFOLDERSUB
|
||||||
|
touch LOWERFILESUBSUB
|
||||||
|
cd ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
mkdir SEDLOWERCASEFOLDERMAIN
|
||||||
|
cd SEDLOWERCASEFOLDERMAIN
|
||||||
|
touch SEDLOWERFILESUB
|
||||||
|
mkdir SEDLOWERFOLDERSUB
|
||||||
|
cd SEDLOWERFOLDERSUB
|
||||||
|
touch SEDLOWERFILESUBSUB
|
||||||
|
cd ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
touch recursefile
|
||||||
|
touch RECURSELOWERFILE
|
||||||
|
touch SEDRECURSEFILE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "Typical scenarios"
|
||||||
|
echo "Uppercasing file with filename a"
|
||||||
|
echo "Lowercasing file with filename B"
|
||||||
|
echo "Using sed pattern for lowercasing of file with filename SED"
|
||||||
|
echo "Uppercasing folder with name foldera non recursively"
|
||||||
|
echo "Lowercasing folder with name FOLDERB non recursively"
|
||||||
|
echo "Using sed pattern for lowercasing of folder with name FOLDERSED non recursively"
|
||||||
|
|
||||||
|
echo "Uppercasing folder recursively"
|
||||||
|
echo "Main folder name: upperfoldermain"
|
||||||
|
echo "folder contains: folder named upperfoldersub , file named upperfilesub"
|
||||||
|
echo "subfolder upperfoldersub contains file named upperfilesubsub"
|
||||||
|
|
||||||
|
echo "Lowercasing folder recursively"
|
||||||
|
echo "Main folder name: LOWERFOLDERMAIN"
|
||||||
|
echo "folder contains: folder named LOWERFOLDERSUB , file named LOWERFILESUB"
|
||||||
|
echo "subfolder LOWERFOLDERSUB contains file named LOWERFILESUBSUB"
|
||||||
|
|
||||||
|
echo "using sed pattern for Lowercasing folder recursively"
|
||||||
|
echo "Main folder name: SEDLOWERFOLDERMAIN"
|
||||||
|
echo "folder contains: folder named SEDLOWERFOLDERSUB , file named SEDLOWERFILESUB"
|
||||||
|
echo "subfolder SEDLOWERFOLDERSUB contains file named SEDLOWERFILESUBSUB"
|
||||||
|
|
||||||
|
echo "Uncommon scenarios"
|
||||||
|
echo "uppercasing recursively normal file recursefile"
|
||||||
|
echo "lowercasing recursively normal file RECURSELOWERFILE"
|
||||||
|
echo "using sed pattern recursively for normal file to lowercase it SEDRECURSEFILE"
|
||||||
|
|
||||||
|
echo "Incorrect scenarios"
|
||||||
|
echo "not providing enough arguments"
|
||||||
|
echo "not providing file"
|
||||||
|
echo "not providing argument for recursion"
|
||||||
|
echo "provding filename/foldername for file/folder which does not exist"
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user