![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| (カット/ Awkの)ファイルからデータを読み取るために必要 | rejirajraghav | シェルプログラミングとスクリプティング | 1 | 2008年4月29日 03:13午後 |
| バッチジョブの入力ファイルを読む | kinmak | シェルプログラミングとスクリプティング | 14 | 2007年7月11日 07:22午前 |
| データからファイルを読む | fongthai | シェルプログラミングとスクリプティング | 12 | 2007年2月27日 09:22午後 |
| データセットの配列には、入力ファイルからの読み込み。 | sidamin810 | シェルプログラミングとスクリプティング | 5 | 2005年7月6日 07:54午前 |
| 入力としてファイルを読んで、別のスクリプトに、各ラインを通過 | sajjad02 | シェルプログラミングとスクリプティング | 0 | 2004年9月24日 11:13午後 |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
||||
|
スクリプトは、検索、編集を許可してファイルの削除
やあ、
仮リストentrisとき、または特定のエントリの一覧を表示するとはどのようにすれば、検索...¿?時にエントリを指定する2行表示 私は、スクリプトを貼り付けます: コード:
# Global variables
film=/opt/etc/film/film.txt
export film
confirm()
{
echo -en "$@"
read ans
ans=`echo $ans | tr '[a-z]' '[A-Z]'`
if [ "$ans" == "Y" ]; then
return 0
else
return 1
fi
}
num_lines()
{
grep -i "$@" $film|wc -l| awk '{ print $1 }'
}
find_lines()
{
# Busca lineas de entrada $1
res=-1
if [ ! -z "$1" ]; then
grep -i "$@" $film
res=$?
fi
return $res
}
list_items()
{
# Lista los resultados encontrados
if [ "$#" -eq "0" ]; then
echo -en "Buscar usuario: (en blanco muesta toda la lista): "
read search
if [ -z "$search" ]; then
search="."
fi
echo
else
search="$@"
fi
find_lines "${search}" | while read i
do
echo "$i" | tr ':' '\t'
done
echo -en "Encontrados: "
num_lines "$search"
}
add_item()
{
echo
echo
echo
echo " NUEVA PELI"
echo " COMPLETA TODOS LOS DATOS"
echo " - AO MES DIA DIRECTOR TIPO - "
echo
echo -en "Nombre: "
read name
find_lines "^${name}:"
if [ `num_lines "^${name}:"` -ne "0" ]; then
echo "El usuario, $name ya existe en el fichero."
return
fi
echo -en "Ao: "
read "ano"
echo -en "Director: "
read filmaker
echo -en "Genero:"
read genre
echo -en "Calificacion:"
read calification
# Confirmacion
echo "${name} Password=${ano}
${calification}, ${filmaker}, ${genre}" >> $film
echo
echo
echo -en "--> ALTA FILM"
echo
echo
}
locate_single_item()
{
echo -en "Peli a buscar: "
read search
n=`num_lines "$search"`
if [ -z "$n" ]; then
n=0
fi
while [ "${n}" -ne "1" ]; do
#list_items "$search"
echo -en "${n} peli encontrada. Selecciona una "
case "$n" in
"0") echo "menos" ;;
"*") echo "mas" ;;
esac
echo "especifica un patron de busqueda (q para volver al menu anterior): "
read search
if [ "$search" == "q" ]; then
return 0
fi
n=`num_lines "$search"`
done
return `grep -in $search $film |cut -d":" -f1`
}
#remove_item()
#{
# locate_single_item
# search=`head -2 $film`
# if [ -z "${search}" ]; then
# return
# fi
# list_items "$search"
# confirm "Borrar?"
# if [ "$?" -eq "0" ]; then
# grep -v "$search" $film > ${film}.tmp ; mv ${film}.tmp ${film}
# else
# echo "NO BORRADO"
# fi
#}
edit_item()
{
locate_single_item
search=`head -$? $film | tail -1|tr ' ' '.'`
if [ -z "${search}" ]; then
return
fi
list_items "$search"
thisline=`grep -i "$search" $film`
oldname=`echo $thisline|cut -d"" -f1`
oldano=`echo $thisline|cut -d"," -f2`
oldfilmaker=`echo $thisline|cut -d"," -f3`
oldcalification=`echo $thisline|cut -d"," -f4`
oldgenre=`echo $thisline|cut -d"," -f5`
echo "BUSCAR : $search"
grep -v "$search" $film > ${film}.tmp ; mv ${film}.tmp ${film}
echo -en "Pelicula [ $oldname ] "
read name
if [ -z "$name" ]; then
name=$oldname
fi
find_lines "^${name}:"
if [ `num_lines "^${name}:"` -ne "0" ]; then
echo "La pelicula, $name esta en el fichero."
return
fi
echo -en "ano [ $oldano ] "
read ano
if [ -z "$ano" ]; then
ano=$oldano
fi
echo -en "Pelicula [ $oldfilmaker ] "
read filmaker
if [ -z "$filmaker" ]; then
filmaker=$oldfilmaker
fi
echo "${name}:${ano}:${filmaker}" >> $film
}
お客様からの私は、検索、編集を可能に必要なスクリプトは、データファイルを削除する。 どうすれば...すればよいですか? お客様のご協力に感謝します。 私はあなたの助けを必要してください.. ! 乾杯。 dorek ![]() 編集dorekで最終; 2006年6月22日に 11:57午前.. |