FC2ブログ

我流館

すきなことをすきなようにかくぶろぐ

VineLinux6.1 で 音を出す (alsa)


ドライバはあるけどシステムが対応してない、みたいな。
多分どっかで入っている筈のalsaを、念の為、ンストール

[root@fuge ~]# apt-get install alsa-lib alsa-utils

ドライバを読みこませるために
/etc/modprobe.d/に50-sound.confを作成

----------------50-sound.conf ココカラ---------------------
alias snd-card-0 snd_via82xx
alias sound-slot-0 snd_via82xx
----------------50-sound.conf ココマデ---------------------

-rw-r--r--  1 root root   60  8月  7 20:50 50-sound.conf

なんで50-を付けたかは忘れた、多分いらないと思うが

ドライバ名はalsaaudioで確認できる筈。

pulseaudioは手を付けてないので…

pulseaudioのほうが音がいいとはいうけれども
どうしようか迷うトコロ
スポンサーサイト

[タグ未指定]
[ 2012/08/30 05:57 ] シェルスクリプト | TB(0) | CM(0)

exif情報をcsvファイルとして書き出すスクリプト

先日調べたexif情報を確認する方法。

そのままでは、あまり役に立ちそうにありません。
一つずつ見ていられないし

一括でcsvファイルに保存できれば、
ヒョッとしたら何かに役立てる方法を考えてくれる人もいるんではないかなと。

恐ろしいことに私、データベースソフトを使ったことがありません。
csvの事はwikiの

Comma-Separated Values(略称:CSV)は、
いくつかのフィールド(項目)をカンマ「,」で区切ったテキストデータおよびテキストファイル。
拡張子は.csv

という情報だけしかない。
だから、データベースソフトに持っていくとどうなるのか皆目検討がつきませんです。

判っているのは 同じメーカでも機種が違うと項目の並びが異なること
それぞれについて項目行が保存されます。

使い方
CURRENTDIRを写真ディレクトリに設定
exif_csv.shをそこに置く
実行方法
sh exif_csv.sh fuge
#実行ファイルにしないのは面倒だから。

---------------------exif_csv.sh ここから---------------------------------
#!/bin/sh

export CURRENTDIR=/home/public/photo

if [ ! -n "$1" ] || [ ! -d "$1" ]; then
echo "csvファイルを作成したいサブディレクトリ名を指定してください"
read subdir
if [ ! -d ${CURRENTDIR}/${subdir} ]; then
echo "指定のディレクトリは存在しません"
exit 1
else
export SUBDIR=${subdir}
fi
else
export SUBDIR=$1
fi
cd ${CURRENTDIR}/${SUBDIR}
rm -rf ${CURRENTDIR}/${SUBDIR}/*.csv

mkcsv(){
jhead $file | sed -e "s/\:/\t/" > basicdata
cat basicdata | cut -f 1 | paste -s -d"," | tr -d [:space:] | sed -e "s/\$/\n/" >> itemlist.csv
cat basicdata | cut -f 2 | paste -s -d"," | tr -d [:space:] | sed -e "s/\$/\n/" >> datalist.csv
return 0
}

for file in *.*; do
if [ -f $file ]; then
if [ $file=*.jpg ]; then
mkcsv
else if [ $file=*.JPG ]; then
mkcsv
fi
fi
fi
done

sort itemlist.csv | uniq > itemlist.csv
sort datalist.csv | uniq > datalist.csv
cat itemlist.csv datalist.csv > exifdata.csv
rm -rf ${CURRENTDIR}/${SUBDIR}/basicdata
cd ${CURRENTDIR}
---------------------exif_csv.sh ここまで---------------------------------
変換に関わりのない処で時間がかかってます。
と、いうか普通に考えると、莫迦じゃないかと思われそうだ。

途中perlでかかれたコードを見て、ヒョッとしたらそれだけでいけるんじゃないかと
思ったり
perlを、勉強をするしか‥ないか。


[タグ未指定]
[ 2011/04/06 19:59 ] シェルスクリプト | TB(0) | CM(0)

サブディレクトリに有るファイルを日付/昇順で連番リネーム

linuxでサブディレクトリに有るファイルを日付/昇順で連番リネームするシェルスクリプト

別の用途で作っているスクリプトの転用のため、やたら冗長性が高くなってます。

使い方
デフォルトの設定

このスクリプトを
/home/public/photographに配置して
/home/public/photograph/subdirに複数の.jpgファイルがある状態で、

cd /home/public/photograph
連番したいファイルのあるサブディレクトリ、リネームしたい名前を実行時に指定して
スクリプトを実行
sh filerename.sh subdir renamefile-

サブディレクトリは”/”無しで記述。
どちらでもいいようにしたいが、うまくいっていない。

/home/public/photograph/subdirにある.jpgファイルを日付/昇順の並びで、
renamefile-00001.jpg

renamefile-000xx.jpg
とリネーム名+5桁の連番リネームします。
とりあえず、コメントをいっぱい付けたので、自分の環境に合わせて
調整してください。

複数のカメラの写真ファイルを撮影順に連番でリネーム出来るのが利点。

--------------filerename.sh ここから-----------------------
#!/bin/sh

# 本体の置き場所
export MAINDIR=/home/public/photograph
# 変換したいファイルの拡張子
export B_SUF=.jpg
# 変換後のファイルの拡張子
export A_SUF=.jpg

if [ ! -n "$1" ] || [ ! -d "$1" ]; then
echo "作業ディレクトリ名を指定してください"
read subdir
if [ ! -d ${MAINDIR}/${subdir} ]; then
echo "指定のディレクトリは存在しません"
exit 1
else
export SUBDIR=${subdir}
fi
else
export SUBDIR=$1
fi

if [ ! -n "$2" ]; then
echo "リネーム後の名前を決めてください"
read rename
export RENAME=${rename}
else
export RENAME=$2
fi
echo "${SUBDIR}" "${RENAME}"
#返還後のファイルの保存ディレクトリがある時削除
if [ -d ${MAINDIR}/${SUBDIR}/convert ]; then
rmdir ${MAINDIR}/${SUBDIR}/convert
fi

#連番リネームのためのファイル名収集
ls -1tr ${SUBDIR}/*${B_SUF} |cat -n > dirdata
##日付を昇順で習得するように設定してある。
sed -e "s/${SUBDIR}\///g" -e "s/${B_SUF}//g" dirdata |cat >dirdata

#変換後のファイルの保存ディレクトリ作成
if [ ! -d ${MAINDIR}/${SUBDIR}/convert ]; then
mkdir ${MAINDIR}/${SUBDIR}/convert
fi

cat ${MAINDIR}/dirdata | while read num name;
do
#桁を揃える(default 5桁)
NUM=`printf "%05d" ${num}`
NAME=${name}
echo "${SUBDIR}/${NAME}/${B_SUF}を${RENAME}${NUM}${A_SUF}にリネーム"
#元のファイルを残す
#        cp ${MAINDIR}/${SUBDIR}/${NAME}${B_SUF} ${MAINDIR}/${SUBDIR}/convert/${RENAME}${NUM}${A_SUF}
#元のファイルをリネーム(default)
          mv ${MAINDIR}/${SUBDIR}/${NAME}${B_SUF} ${MAINDIR}/${SUBDIR}/${RENAME}${NUM}${A_SUF}
done
#元のファイル名を確認したい時はコメントアウト
rm -rf ${MAINDIR}/dirdata
#元のファイルを残すときコメントアウト
rm -rf ${MAINDIR}/${SUBDIR}/convert
--------------filerename.sh ここまで-----------------------

[タグ未指定]
[ 2011/03/17 21:45 ] シェルスクリプト | TB(0) | CM(0)
プロフィール

sealyoh

Author:sealyoh
いらっしゃいませ

カレンダー
07 | 2019/08 | 09
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
FC2掲示板