青森市出身の元八百屋エンジニアブログ -2ページ目

青森市出身の元八百屋エンジニアブログ

八百屋を辞め、エンジニアに転身したプログラミング日記

依存パッケージインストール

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel


インストール

# 作業ディレクトリ作成
mkdir -p /usr/local/src/source
cd /usr/local/src/source

# Download & 解凍
wget http://git-core.googlecode.com/files/git-1.8.1.tar.gz
tar zxvf git-1.8.1.tar.gz
cd git-1.8.1

# コンパイル&インストール
./configure --prefix=/usr/local --with-zlib=/usr --with-iconv=/usr/local
make
make install



動作確認

# /usr/local/binをPATHに追加していなければ追加
PATH=$PATH:/usr/local/bin

git --version
> git version 1.8.1

インストール完了!



下記のエラーが発生した場合

/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] エラー 2
make: *** [perl/perl.mak] エラー 2


下記をインストールで解決

yum install perl-ExtUtils-MakeMaker




下記のエラーが発生した場合

GITGUI_VERSION = 0.16.0
* new locations or Tcl/Tk interpreter
GEN git-gui
INDEX lib/
* tclsh failed; using unoptimized loading
MSGFMT po/de.msg make[1]: *** [po/de.msg] エラー 127
make: *** [all] エラー 2

下記をインストールで解決

yum install build-essential tcl8.4 tk8.4 gettext
入門Git/秀和システム

¥2,310
Amazon.co.jp

辞書ソートしたファイル名を、連番ファイル名に置換する作業が発生したのでシェルを作ってみました。

スペースファイルを抽出する部分が結構、無理やりかも。。。




#!/bin/sh

#-------------------------------------------------------
# ファイル連番置換シェル
# $1 = "ls検索コマンド"
# $2 = "file_prefix" : "exsample" -> test_1.png
#-------------------------------------------------------
cmd=$1
filePrefix=$2

# forのスペース区切りをカンマに置き換え
`echo "${cmd}" | sed -e 's/ls /ls -1 /g'`

echo ">>> Rename is ok? [Y/n]"
read ANS
if [ "$ANS" = "Y" ]; then
# forのスペース区切りをカンマに置き換え
ary=$(${cmd} | xargs -I{} echo "{},")
# Renameするファイル数を取得
i=$(${cmd} | wc -l | sed -e "s/ //g")
count=1
# for文のセパレーター文字を変更
IFS=','
for f in ${ary[@]}; do
c=0000$count
c=${c:(-4)};
mv -v $(echo $f | xargs -I{} echo "{}") "${filePrefix}_${c}.png"
let count=count+1
done
echo "Rename file count:"$i
else
echo "No rename files"
fi

詳解 シェルスクリプト/Arnold Robbins

¥2,940
Amazon.co.jp