デスクトップでLinuxが普及する訳ないと思った時 11
■ このスレッドは過去ログ倉庫に格納されています
>>682
騒ぐほどのこと?
Awk でちょいちょいじゃん シェルスクリプトとかawkのコードの移植性を
あまり考えなくなったなあ。これじゃいかんのだが
だって、他の処理系、開発止まっちゃってるんだもん
わざわざ、便利な機能を使わない意味がもはや
見当たらないよ。 ところで、デスクトップ
どこ行ったんだろ?
まあ、別に普通に使えるけど >>689
vifm,mcの方が良いよ
見た目が良いよ
こりゃ古すぎ >>724
ログに毛の生えたようなものだと思っていたんだよ。 >>723
とっくにoutlook.com経由でAndroid端末に全部移行できてるから問題ないよ。
googleとoutlookと携帯キャリアの3か所にアドレス帳のバックアップがある状態。
ところで、Windowsが終わるとか、Linuxが流行るとか、20年ぐらい前からずーっと言われてるような気がするのは気のせいか? 改行を含むものは出来ないっぽいな。
まぁ改行を含むcsvファイルがどれだけの割合で存在するかだなぁ、
でも未対応と言われればやはり使いづらくなるな。 そういった細かいことにこだわっていても前には進めんということか…。 デスクトップLinuxとかけまして
横浜駅と解きます。 その心は >>723
> Windowsは、もうじき無くなるから準備しといた
> 方が良いよ。
だな。1000年後の未来に行って子孫に
Windowsはもうじき無くなるぞーって言ってくるわ。 お前らは何にもわかっちゃらない!
少しはデニス・M・リッチーを見倣え! "2,000",bbb,"3,000,000",aaa
cat data.csv | sed 's%"%\n%g' | sed '/^$/d' | sed 's%^,%%' | sed 's%,$%%' | sed 's/$/@/' | sed '/,/ s/^/"/' | sed '/,/ s/$/"/' | tr "\n" "," | sed s'%,$%\n%'
一行だけなんだけどささやかな抵抗をしてみました。 他人がレビュー(書くよりも短い時間で問題ないと判断できること)出来ないコードを書くな デスクトップと何の関係も無いし
そもそもPowerShellなら可読性の高いコードをスクリプトに埋め込んでスクリプトだけで完結するし Ruby では、改行コードなどの特殊文字も、"〜" 内に書けば、エラーにならない
require 'csv'
str = <<"EOT"
id,first name
1,abc
2,"xy\nz"
EOT
options = { :headers => true }
CSV.parse( str, options ).each do | row |
p [ row[ 'id' ], row[ 'first name' ] ]
end
出力
["1", "abc"]
["2", "xy\nz"] rubyのソースだけで云々ってんならもはやWinもLinuxもデスクトップも関係ねえw Rubyって1.8とか1.9ぐらいのころに手を出したことあるけど
実装がリファレンス
とか言われて仕事で使うもんじゃないなと思ったことある。
今でも実装がリファレンスなのかな? >>743
レビューはいらんが検証がほしい。
data.csvを色々書き換えて試してみてね。 複数行、改行含、改行含と,が同じ行に同居しているものには対応してないので…。 あと環境は
Linux debian 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
bashです。 2018→2019
Windows 49.9%→47.5%
MacOS 26.7%→26.8%
Linux-based 23.2%→25.6%
BSD 0.2%→0.1%
https://insights.stackoverflow.com/survey/2019
https://insights.stackoverflow.com/survey/2018
ドザこれにどう答えるの? >>755
ドザなんて殆どいやしねえし、それ開発者の統計だろw 開発ツールのシェアでもWindowsの半分しかないのかぁ。
マイコンボードのLinux化やAndroidがあるから、もっとシェア取ってるかと思ったけど意外に少ないね。 でもまあ心配ないと思うよ
WSLで開発者のWindows回帰の流れがくるらしいから
WSL登場から何年たったのか知らんけどまだ本気だしてないだけだから余裕だよね 使う側からすると、1台のPCでWinもUbuntuも開発ターゲットにできるのは面倒くさがりには向いてると思う。
Ubuntuで動くツールがWSLで動くから、面倒くさがりな奴は1台のPCになんでもかんでも突っ込むだろ。
そしてプログラマーは「手抜きをするための努力を惜しまない」タイプの面倒くさがりが多い。 >>755
> ドザこれにどう答えるの?
どう答えようかな?
開発者の間でもWindowsが一番使われてるんですね。とか ? ×どんどん減ります
〇じょじょに減ります
嘘はいかんよ、嘘は。 ディストリ間の差異を吸収するソフト開発してもホストはwindowsでいいやってなるからな
プリインストールされてるうちは 作り手と使い手が好むOSは違うってことだね。
俺もヒトが作ったアプリ使うだけならWindowsのがイイやって思うこと多いし。 庶民はOSに関心はない、と思う
なぜかしばしばパソコンの購入で相談されるが、必ず「どのメーカーのがいい?」って聞かれる
よく考えれば車でも何でも「どのメーカーのがいい?」って話になる
見下してるわけではないが、庶民の視点はそんなもの あ、この前「東芝にしようと思うんだけど、どう思う?」って聞かれたわ
東芝ってだけでどう答えればいいんだよw #前処理
cat $1 | sed 's%^"%\n"%g' | sed 's%,"%\n"%g' | sed 's%",%"\n%g' | sed '/^"/! s%,%\n%g' | sed '/^$/d'
#後処理
cat $1 | sed 's%$%,%g' | tr -d "\n" | sed 's%,$%%' | sed 's%$%\n%' σ < ワロタ
(V) Windowsで
|
| FOR /f "DELIMS=" %%A in ('picl -n -o') DO SET STEXT="%%A"
firefox https://translate.google.com/#auto/en/%STEXT%/
で済んだのが、Linuxでシェルスクリプトで良くかけないorz σ < ワロタ
(V) これも、最初の一行にだけになってしもたorz
|| σ < もう、コピペでやるしかないのう
(V)
|| ・仮想環境
・マルチブート
・5年以上前のマシン
これらを除いたら世界で一万人もいないだろう>Linuxデスクトップ使ってる奴 σ < ワロタ
(V) ありあえず、これで行くことにした
||
TEXT=$(xsel --clipboard --output)
echo $TEXT || trans -b :ja | less >>773
「東芝の製品は、どの製造ラインでいつ作ったか、すぐにわかるらしいぜ」
「へえ、そいつぁ一体、なんでだい?」
「東芝だけに、製品に通し番号がふられています」 #やったか?
#前処理
cat $1 |\
tr "\n" "@" | sed 's%@@$%\n%' |\
sed 's%^"%\n"%g' | sed 's%,"%\n"%g' | sed 's%",%"\n%g' | sed '/^"/! s%,%\n%g' | sed '/^$/d'
#catはechoのほうがいいかも σ < translate-shellは古いのは機能しないので
(V) wgetでダウンロードするしかなかった
||
似たようなのgooglerがあるけど
インストールしていた当初は動いていたけど
一の間にかまともに機能しなくなった
google翻訳にコマンドラインから、ドキュメント投入出来ればいいんだけど 東芝とNECばかり使ってたんだがDynabook株式会社になってシャープの傘下か #複数行対応は可能か?
data.csv | tr "\n" "#" | sed 's%"#,%",%g' | sed 's%\(.*\)\(".*#."\)\(.*\)%\1@\2@\3%g' | sed 's%#@%\n%' | sed '/@/! s%#%\n%' | sed 's%@%%g' | sed 's%#$%\n%' # 4つめのsedの g 忘れてました
cat data.csv | tr "\n" "#" | sed 's%"#,%",%g' | sed 's%\(.*\)\(".*#."\)\(.*\)%\1@\2@\3%g' | sed 's%#@%\n%g' | sed '/@/! s%#%\n%g' | sed 's%@%%g' | sed 's%#$%\n%' 638login:Penguin2019/04/13(土) 22:04:45.77ID:qHlFwNwI>>641>>669>>685
>>636
a,A,1
b,B,"2,000"
"c
c
c",C,3
3行のCSV
問題のすり替え
while readで読めるようにしたい。
a,A,1
b,B,"2,000"
"c@c@c",C,3 ま、そこまでがんばったとこで昔ながらのシェルのスクリプト体系じゃ
後出しのPowerShellみたいにスクリプト内だけでcsv処理を完結させるなんてできないんだけどな
わざわざ後から出したんだから高機能なのは当然っちゃー当然なんだけど 高性能?それは素晴らしい。
色々なディストリ標準でインストールされる様になればいいね。 #これでどうだ?
cat data.csv | tr "\n" "#" | sed 's%\("[^"]*"\)%\n\1\n%g' | sed '/^"/ s%#%@%g' | tr -d "\n" | tr "#" "\n" >>799
高機能と高性能は違う
そんな違いすらわからない奴が首突っ込める様な話題じゃない >>800
で、結局sedに頼らなきゃなんだろ?
更に付け加えるとcatもtrも外部プロセスで動くからな awk未対応というのも知らなかったし、
そんなフォーマットというのも知らなかったよ。
いい勉強になったよ、コマンド履歴消えちゃったよ。 >>801
ああ、そうだね。.netに高性能って表現は誤りだ。多機能って表現が正しいね。 そうやってシェルからいろいろ使えるのがLinuxのいいとこだと思ってた
わざわざ長所消す理由がわからん CSV で、エラーが起こる場合は、
データ内に、行区切り文字・列区切り文字・クオート文字・制御文字がある際、クオートしていないとき
そもそも、CSVのライブラリを使っていない場合は、ヤバイ。
awk などで、自作しているようなアプリは、ヤバイ
単純に列区切り文字で、split してるようなプログラム
たぶん、そういう人は、CSV(RFC 4180)の規格も知らないだろ。
Ruby では、CSVのライブラリは、2千行ある
それを個人で実現することは、まず無理 Rubyで2000行だと・・・?
そりゃまた大きいな。 csvって一言で言っても\とは違うエスケープとか"で区切られてない文字列とか
日付の解釈とかきっちり処理しようとすると結構面倒だぞ #Ver UP!!
cat data.csv | tr "\n" "#" | sed 's%\([,#]"\)%\n\1%g' | sed '/"/ s%#%@%g' | sed '/"/ s%^@%#%' | tr -d "\n" | tr "#" "\n" | sed 's%@$%\n%' #小変更です。
cat data.csv | tr "\n" "#" | sed 's%\([,#]"\)%\n\1%g' | sed '/#"/ s%#%@%g' | sed '/"/ s%^@%#%' | tr -d "\n" | tr "#" "\n" #今度こそ!!
cat data.csv | tr "\n" "#" | sed 's%\([,#]"\)%\n\1%g' | sed 's%\("[,#]\)%\1\n%g' | sed '/[,#]"/ s%#%@%g' | tr -d "\n" | tr "#" "\n" | sed 's%@$%\n%' >>800でいいのかな?
1",2,"3"""""",3
3"
1""1,"2
",333
が通らないです。 >>800ですが
1,"22""2",33
は通るけと゛
1,"22"22","3
は通らないです。 スレチで引っ掻き回さないとデスクトップどころかスクリプト類でも後れを取ってるって事を誤魔化せないのか・・・ 変数展開で書き換えるとシェルスクリプトと呼べるとか…。 ■ このスレッドは過去ログ倉庫に格納されています