シェルスクリプト相談室at TECH
シェルスクリプト相談室 - 暇つぶし2ch956:デフォルトの名無しさん
08/06/16 16:11:07
cut -d',' -f2-

957:デフォルトの名無しさん
08/06/16 16:18:10
~> L="123,uio poi"
~> LB=`echo $L | cut -d',' -f2-`
~> echo $LB
uio poi
~>

958:デフォルトの名無しさん
08/06/16 17:05:34
違ったか・・・

959:デフォルトの名無しさん
08/06/16 21:03:53
tr -d '\015' < hoge.txt | awk ...


960:デフォルトの名無しさん
08/06/17 11:26:10
#!/bin/csh -f

set com=$0

if ($#argv < 1 || $#argv > 3) then
echo Usage:$com start_line total_lines '[file_name]'
exit 1
endif
if ($#argv == 2) then
set s=$1
set t=$2
tail +$s | head -$t
else
set s=$1
set t=$2
set f=$3
cat $f | tail +$s | head -$t
endif

exit 0
echo ------------------

これだとエラーがでます。どなたか改良してください。お願いします。


961:デフォルトの名無しさん
08/06/17 11:27:38
酷いマルチ

962:デフォルトの名無しさん
08/06/17 13:28:46
bashで
while read LINE; do
echo $LINE
done < ファイル

とするとファイルに含まれてるタブ文字が
半角スペースに変換されて表示されるのですが
そのまま取り出したい場合どうすればいいのでしょう?

cat ファイル | whileやfor LINE in `cat ファイル`等はやってみました


963:デフォルトの名無しさん
08/06/17 13:57:10
echo "$LINE"


964:デフォルトの名無しさん
08/06/17 14:05:16
>>963
うまくいきました
ありがとう

そんな単純な事に気づかなかったとはorz


965:デフォルトの名無しさん
08/06/30 21:30:18
KORNシェルの質問です。よろしくお願いします。

テキストファイル

id=tanaka age=25
id=takahashi age=2           
id=suzuki age=44



id age
---------------------
id=tanaka age=25
id=takahashi age=2          
id=suzuki age=44

にしたい(体裁を整えたい)です。$@を使ってできますか?
変数wkにabc=e があったとして、=があるかどうかわかりますか?
grepやcutコマンドは変数を対象に使えませんよね・・?

966:デフォルトの名無しさん
08/06/30 21:42:13
訂正です。体裁が整ってない。
idなら10文字以下でもスペースで10文字にして(これはtypedef使いました)
=の前を見出しに出力して、=の後を----の下に書きたいんです。

id age
---------------------
tanaka    25
takahashi   2          
suzuki    44

よろしくお願いします

967:デフォルトの名無しさん
08/06/30 23:25:03
IFS="=$IFS"
FIRST=t

while read line
do
    set -- $line
    if [ "$FIRST" ]
    then
        printf "%-10s %s\n" "$1" "$3"
        echo "---------------------"
        FIRST=
    fi
    printf "%-10s %2d\n" "$2" "$4"
done

968:デフォルトの名無しさん
08/06/30 23:38:57
>>967san
有難うございます!今試せないので明日、速攻でやってみます!



969:デフォルトの名無しさん
08/07/04 23:36:23
質問させてください。
diffの結果を見易く整形するツール等はありますでしょうか。
環境はCENTOSです。よろしくお願いします。

970:969
08/07/04 23:37:57
すいません。追記します。
シェルスクリプト内で使いたいので、
ツールでもコマンド的なものだとありがたいです。

971:デフォルトの名無しさん
08/07/05 00:17:24
diff -u


972:デフォルトの名無しさん
08/07/05 00:19:45
>>969
> diffの結果を見易く整形

kwsk



973:デフォルトの名無しさん
08/07/05 01:23:42
>972
このファイルだけサイズが違いますよとか
このファイルはこっちにありませんよとかが希望です。
ls -Rlaの結果をファイルにリダイレクトしてます

974:デフォルトの名無しさん
08/07/05 07:42:01
ファイルの差分はいらないのね

find dirA -exec wc -c {}; > /tmp/A
find dirB -exec wc -c {}; > /tmp/B
diff /tmp/A /tmp/B

あるいは単純に
diff -r --brief dirA dirB 2>&1


975:デフォルトの名無しさん
08/07/07 14:20:19
私はこんなスクリプト作ってる。
--
#!/bin/sh -f
DIFF="/bin/diff -u"

lsd()
{
find $1 -type f -ls | awk '{printf("%10d %s %2s %5s %s\n", $7, $8, $9, $10, $11);}' | sort +4
}

lsd $1 | sed -e "s- $1- $2-" > /tmp/$$
lsd $2 | $DIFF /tmp/$$ -
rm /tmp/$$
--
これで一応ファイルサイズとタイムスタンプも比較できる。

976:デフォルトの名無しさん
08/07/07 23:59:08
>>975
・空白のあるファイル名の扱い
・日付の出力形式の仮定
に問題。




最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch