5750


以下のようなコマンドで /proc/sys/net/ipv4 配下のファイルすべてを cat しています。  
cat の結果を /Users/hoge/Desktop/hoe/para.txt しようと考えています。

[code]

    adb shell
    ff() { for p in "$@"; do [ -d "$p" ] && { ff "$p"/*; continue; }; echo "$p"; done; }
    ff /proc/sys/net/ipv4
    ff /proc/sys/net/ipv4 |while read f; do echo "$f"",\c"; cat  "$f"; done >> /Users/hoge/Desktop/hoge/para.csv
    
[/code]

これをスクリプトにしようと、`>>` で追記先を記載してみましたが、adb shell 上で実行しているため、保存先が Android
端末内となっていまい、以下のエラーメッセージが表示されてしまい困っております。

[code]

    /system/bin/sh: can't create /Users/hoge/Desktop/hoe/para.txt: No such file or directory
    
[/code]

補足

> > @user3009331さま  
>
> 申し訳ございません、当方のコードに誤りがあり、ご教示いただいた方法に基づき、下記のコードで無事動作いたしました。回答の復活をお願いできませんでしょうか。
[code]

    adb shell
    ff() { for p in "$@"; do [ -d "$p" ] && { ff "$p"/*; continue; }; echo "$p"; done; }
    ff /proc/sys/net/ipv4
    ff /proc/sys/net/ipv4 |while read f; do echo "$f"",\c"; cat "$f"; done > /sdcard/temp.csv
    exit
    adb pull /sdcard/temp.csv /Users/hoge/Desktop/para.csv
    
[/code]


CC BY-SA 3.0
2015-02-02T03:17:40.200
5731
2015-02-03T07:25:59.293
2015-02-03T07:25:59.293
7590
7590
question
android bash
androidのadb shell上で得られた出力結果をPCに保存したい


以下の方法は如何でしょうか。ワンラインです。  
adb pullするのではなく、出力を直接ファイル化しています。

> adb shell "ff() { for p in \"$@\"; do [ -d \"$p\" ] && { ff \"$p\"/*;
> continue; }; echo \"$p\"; done; }; ff /proc/sys/net/ipv4 | while read f; do
> echo $f;cat $f; done" > para.txt

para.txtの部分はローカルパスになります。


CC BY-SA 3.0
2015-02-02T05:34:55.500
5750
2015-02-02T05:34:55.500
7241
5731
answer