シェルスクリプト相談 ..
[2ch|▼Menu]
950:デフォルトの名無しさん
08/06/16 13:49:14
>>949
Permission denied

951:デフォルトの名無しさん
08/06/16 14:14:52
以下のスクリプトで
echo をした時に
AAAeo kakikukeko sasisuseso
AAAituteto naninuneno hahihuheho
と表示されるのですが
どうすれば
tatituteto naninuneno hahihuhehoAAA
と表示できるのでしょう?
環境は実行シェルはbashです


FUGA="'AAA'"
awk '{print;}' hoge.txt | while read LINE; do
    MOGE=`echo "$LINE" | cut -d , -f 2-`
    echo "$MOGE""$FUGA"
done

hoge.txt
a,aiueo kakikukeko sasisuseso
b,tatituteto naninuneno hahihuheho



952:デフォルトの名無しさん
08/06/16 14:55:37
>>951
やりたいことが判らん。awkを使う理由が判らん。手元で再現できん。
つーか、折角awkを使うならawk -F, '{print $2 "AAA";}'じゃいかんの?

953:951
08/06/16 15:09:30
>>952
レスありがとうございます

やりたい事としては
ファイルから1行読み込んで1行をパースし
FUGAと連結した文字列を別のコマンドを実行させたい

です

1行の内容としては
aaaaa,hogehoge mogemoge aiueo

という風に書きましたが実際には
aaaa,SQL文
という感じで半角スペースやカンマが入ります



954:デフォルトの名無しさん
08/06/16 15:16:15
>>953
他人の話をよく聞きなさいって言われたことないか?
>952をよく読んで、為すべきことを為してから出直せ。
それから、自分の書いた文章を読み返す癖をつけた方がいい。
とてもじゃないが、他人に読んでもらう文章になっていないぞ。

955:デフォルトの名無しさん
08/06/16 15:48:40
>>954
>>952に書いてある内容は理解しています

    MOGE=`echo "$LINE" | cut -d , -f 2-`

の代わりとなる部分だと言うことは解っているのですが
>>953にも書いてある通りカンマ等が入ってしまう為記述が簡単な
    MOGE=`echo "$LINE" | cut -d , -f 2-`
を選びました

951にカンマ等が複数入る可能性があるという事を
書かなかったのはすみませんでした


956:デフォルトの名無しさん
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

5116日前に更新/248 KB
担当:undef