探検


くだらねえ質問はここに書き込め! Part 232

■ このスレッドは過去ログ倉庫に格納されています
2018/07/14(土) 13:30:27.58ID:tHBSJ8x8
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/

読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。

過去ログ検索
Google検索
https://www.google.com/search?hl=ja&;as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja&;as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F

※前スレ
くだらねえ質問はここに書き込め! Part 231
http://mao.5ch.net/test/read.cgi/linux/1524835309/
2018/08/23(木) 22:27:21.89ID:ROWP1Gde
>>682
できればlex&yaccがいいです
枯れてますし標準規格(POSIX? 違いますかね)があるみたいなので

しかしながら実を言うと言語処理は初めてなのでもしlex&yaccを使ってはならない理由などがあれば
即座にflex&bisonに乗り換える心積もりもしております。
ぜひ助言願えればと思います。
2018/08/23(木) 22:27:57.99ID:ROWP1Gde
ていうかもっと言うと
XML→XPathパーサー知りませんか?
685login:Penguin
垢版 |
2018/08/23(木) 23:02:31.85ID:igELEe5F
使ってはならないっていうか、
そもそも入手できるんだっけか
2018/08/24(金) 00:47:42.80ID:o6ypzFiv
Ruby では、Lex を使わず、独自に字句解析をしている。
構文解析では、Yacc ではなく、Bison を使っている

XPath は、Chrome のF12 開発者ツールで、取得できる
2018/08/24(金) 01:12:53.40ID:fBcm2rT0
余談ですが、FreeBSD と OpenIndiana には yacc と lex があります。
2018/08/24(金) 06:38:49.29ID:muA5ARHl
今時そういうものに興味を持ってくれるとは嬉しいね。
とりあえず、Debian では bison とは別に byacc が用意されてる。
public domain Berkeley LALR Yacc parser generator
だそうだ。
bison にも POSIX Yaccモードがあると Wikipedia に書かれてるが。
オリジナルの yacc がいいなら
https://ja.osdn.net/projects/freshmeat_devtools/
2018/08/24(金) 20:43:43.42ID:KdHmXjAa
$ hoge 2>/dev/nullでエラーを非表示にできるけど2/dev/nullのコマンド化ってできない?
毎回これ打つの面倒だしbash_aliasesを/dev/nullだらけにしたくない
manは日本語だったり英語だったりバラバラで頼り甲斐ないのな
都度ググるのにも限度があるしコマンドやオプションの意味覚えた方が手っ取り早そう
690login:Penguin
垢版 |
2018/08/24(金) 21:05:52.44ID:sYoZLhGV
yaccって何に使ってんの?
2018/08/24(金) 21:07:47.39ID:7BAc2M6X
>>689
hogeの標準出力を捨てたいんじゃなくて、エラーを捨てたいんだよね。
エラーを解決することが一番の解決策です。/dev/nullに捨てるとエラーがわからなくなるので、logを作成するがいいと思うけど、それは嫌なの?
692login:Penguin
垢版 |
2018/08/24(金) 22:22:10.99ID:JUCr5yrr
>>689
LANG=C man hoge
で英語だけになるよ
2018/08/24(金) 22:28:41.31ID:nVvHRTbp
日本語だけにする方法は?
2018/08/25(土) 03:43:23.98ID:f8rUsPvC
本スレですとレスが頂けなかったのでこちらで・・・

初歩的な質問で申し訳ないのですが・・・

MacのHighSierraにVirtual Box (5.2.18 platform packages)をインストールして
Ubuntu(のja-18.04-desktop-amd64.iso)を入れて
無事にVirtualBox内でUbuntuを使える様になったのですが、

共有フォルダ等を作りたいと思い、DevicesからInsert Guest Additions CD image を選択し、
「VBox_GAs_5.2.18には自動的に起動するソフトウェアが含まれています。実行しますか?」と
表示されたので「実行する」を選択したのですが、何も起きません。
従来なら端末の画面が表示されてパスワードを入力するとインストールが始まると思うのですが、
今回の場合ですと、デスクトップにVBox_GAs_5,2,18のフォルダ(iso?)が表示されているだけで何も起きません。

デスクトップのVBox_GAs_5,2,18をクリックして、中にあるautorun.shをクリックしても起動されると読んだのですが、
エディタで開かれるだけで何も起きません。

どうすればInsert Guest Additions をインストールできますか?
2018/08/25(土) 05:11:39.97ID:OEruEGqQ
chef, vagrant で、レシピを探せば?
696login:Penguin
垢版 |
2018/08/25(土) 07:26:26.29ID:2SzXy26S
>>693
そもそも日本語manpageがない場合があるから無理
2018/08/25(土) 07:40:05.54ID:fgDVxOEU
>>696
Google翻訳があるだろう
2018/08/25(土) 07:56:34.90ID:i/ZgqNZz
>>688
教えていただきありがとうございます。
そしてすいませんが 僕の力では配布されているソースコードに含まれているmk.configの設定を
Linux風にすることができませんでした。
(システムシェルが/sbin/shでしすし PREFIXが/usr/localではなく/usr/ccsとか
よく分からないディレクトリになってたり……Solarisの文化ですかね?)

しかし そういうプロジェクトがあることを知れただけでも勉強になりました
Makefileなどもある程度理解していたつもりなのですが まだまだですね……。
XML→XPathは趣味で作っているので ゆっくりそのあたりの知識も身に付けてから出直します
699login:Penguin
垢版 |
2018/08/25(土) 11:14:13.83ID:2SzXy26S
>>697
話の流れをちゃんと読んでくれ
700!ninja
垢版 |
2018/08/25(土) 12:35:50.92ID:yfLlY8Ca
>>694
https://www.google.co.jp/amp/s/websiteforstudents.com/installing-virtualbox-guest-additions-on-ubuntu-18-04-beta/amp/
2018/08/26(日) 01:31:11.98ID:VA97mynS
alias mani='man -L=us'で英語版も表示させてる
たまに日栄間で解説に不足があるしそこまで信用してない
未翻訳じゃなくて日本語版だけverの出し方しか乗ってない未完成版があったから
2018/08/26(日) 06:26:35.02ID:2qLBg0ll
echo hoge | read s; echo $s
とやって何も出力されません

read s <<<hoge; echo $s
だとhogeと出力されます

なぜ前者はreadで読み込めないのでしょうか
2018/08/26(日) 06:42:38.70ID:h5jO8aVV
実はreadでちゃんと読み込めてるんやで

カッコを補ってみればわかるやろうなぁ。

回答は俺の次の人がするで
704702
垢版 |
2018/08/26(日) 07:28:21.71ID:2qLBg0ll
echo hoge | (read s; echo $s)
とすると確かにhogeと出力されました

もしかして、パイプ経由で入力を受け取ると、readがサブシェルに
置かれるということでしょうか?しかしなぜそんな仕様なんでしょうか…
705702
垢版 |
2018/08/26(日) 07:51:39.45ID:2qLBg0ll
bashのマニュアルにこう書いてありますね

> パイプライン中の各コマンドは、それぞれ別のプロセスとして
>(つまりサブシェル内で) 実行されます。

そういうものなのだと納得しました
ありがとうございました
2018/08/26(日) 08:17:17.58ID:h5jO8aVV
サブシェルにしないと遅くなるやろ
2018/08/26(日) 08:35:01.78ID:xtmceFOM
>>698
m4, make などは面倒

だから、chef, vagrant は、Ruby で書かれている

Docker には、そういうレシピ(docker file)を公開している人は、いないのか?
2018/08/26(日) 08:43:46.12ID:bzksDcoT
>>707
Dockerはインフラ屋が使うものじゃない。
インフラ屋はdocker runとか使っていればいいだけ
Dockerfileを書く必要はない

Dockerはアプリ開発者が自分の作ったアプリのためにDockerfileを書く
自分の作ったアプリのために書くものなんだから、そういうのが公開されてないのは当たり前

お前は使い方を間違えている

最終的にはchefやvagrantはいらなくなる。あんなのはゴミ
複雑なものは全部Dockerfileに書くことになるので
シェルスクリプトで十分になる
2018/08/26(日) 09:41:51.75ID:6qQoyLPI
>>706
いやいや、サブシェルにしないと並行動作できないからだろ
2018/08/26(日) 11:29:03.36ID:jT97pc7k
並行動作できない、だから遅くなるやろ
2018/08/26(日) 11:33:27.25ID:7yiqKyuA
ubuntuでwindows10のストアアプリを動かす方法はありますか?
windows10上のubuntu(WSL)でもなく、WINEでもなく、、、
712login:Penguin
垢版 |
2018/08/26(日) 16:50:00.29ID:FGYu2Anu
age
2018/08/26(日) 17:43:40.94ID:6qQoyLPI
>>710
遅くなるとかは本質的な話じゃない
並行動作させないとパイプが詰まる
714login:Penguin
垢版 |
2018/08/26(日) 21:01:01.08ID:LnzSGMv7
ジョンソン・アンド・ジョンソンにお任せ!
2018/08/26(日) 22:15:06.09ID:6R/ovKcu
>>707
すいません。どういうことでしょうか
Dockerって準仮想環境のことですよね?
私が使おうと思って断念したプロジェクトはあまり関係ないと思うんですが……。
2018/08/26(日) 22:25:17.89ID:05f1G8NK
> Dockerって準仮想環境のことですよね?
ぜんぜん違う。

だけど>>707は単にDockerスレでこてんぱんにされて、
ここで(間違った)自分の使い方を主張して
ほらDockerはこんな事もできないって印象を与えようとしてるだけ
そもそも使い方が間違ってるので、できなくて当然なんだが
2018/08/27(月) 00:13:52.95ID:tnHT9/AW
Docker で、privilegeオプション与えて、initを起動するようにコンテナ運用することで、
バーチャルマシンみたいに動作する。
Dockerの本来の使い方云々はあるけど、おそらく今後、
そういうニーズがある以上は、バーチャルマシンみたいな使われ方をされていくだろうね。
718707
垢版 |
2018/08/27(月) 00:57:28.31ID:X5QTqJul
Docker に開発環境一式すべてを入れて、配布している人がいないかなと思って。
そういうレシピ(docker file)を公開している人が、いるかも知れないと思って

chef, vagrant なら、そういうレシピがたくさん公開されているだろ
2018/08/27(月) 01:02:01.79ID:AQUn+gMw
> そういうニーズがある以上は、バーチャルマシンみたいな使われ方をされていくだろうね。
ありえないな。向こうの人はベストプラクティスを重視している。
作るツールは信念を持って作られているので、
その用途とは違う使い方には対応しない
2018/08/27(月) 01:02:45.39ID:AQUn+gMw
>>718
だからそういう使い方は間違い
だから間違った使い方を公開する人もいない
恥ずかしいからね
2018/08/27(月) 01:06:19.98ID:AQUn+gMw
想定通りの流れなんで貼り付けとく

Docker Part2©2ch.net
https://mao.5ch.net/test/read.cgi/linux/1506574845/372
>
> > なんでそんなにDockerを仮想マシンとして使わないように誘導するの?おかしくない?
>
> なんで仮想マシンの代わりとしてコンテナ技術を使うものがあるのに
> 仮想マシンの代わりとして使うことを想定してないDockerを無理やり使うわけ?
> その方がおかしいでしょ。
> どうせ間違った使い方をして、使いづらいと文句をいうのが目的なんだろう?
2018/08/27(月) 01:46:11.76ID:tnHT9/AW
>>721
>仮想マシンの代わりとしてコンテナ技術を使うものがある

それはなに?
LXC?
2018/08/27(月) 01:46:44.16ID:umEenSXh
>>719
ITmediaの記事でこんなん書かれてるけど方向性違うんかな?
http://www.itmedia.co.jp/enterprise/articles/1808/23/news111_3.html
2018/08/27(月) 01:49:40.18ID:kxhR3Sd4
Dockerスレから出てくんな
2018/08/27(月) 01:50:45.45ID:tnHT9/AW
>>719
じゃあ、どうして、最新のDockerでは、
macvlanに対応したり、個々のコンテナに静的にIPアドレスを割り当てられるようにしたり、
まるでVMとしての用途を意識しているみたいではないかな。

つかってはいけない法律があるわけでないし、
どうして「信念を持って作られている」なんて勝手なことを言うんだろう。
DockerがVMとして利用されることを恐れている人?
2018/08/27(月) 03:06:29.56ID:qK807NVH
IPアドレスの割り当ての事だけで「まるでVM」とか言っちゃうのが間違い。
2018/08/27(月) 03:58:52.48ID:tJBHboUz
dockerは一生vmになれない
2018/08/27(月) 06:59:46.97ID:AQUn+gMw
>>723
コンテナとDockerの違い

>>725
> macvlanに対応したり、個々のコンテナに静的にIPアドレスを割り当てられるようにしたり、
> まるでVMとしての用途を意識しているみたいではないかな。

アプリ単体でIPアドレスをもつというだけの話
VMとは関係ない

> つかってはいけない法律があるわけでないし、
法律?何いってんだお前w

DockerはVMの代わりとして設計してないので、
VMの代わりとして使って使いづらいなどと言うなって話。
(例えば、便利ツール全部インストール済みのレシピがないとか)
もともとその用途に作られてないんだから。

いつもDockerへの文句はVMとして使えないじゃねーか。
本当にあほかと
2018/08/27(月) 07:01:26.00ID:AQUn+gMw
違いを知ろうぜw

Application Containers vs. System Containers: Understanding the Difference
https://www.sumologic.com/blog/devops/application-containers-vs-system-containers-understanding-difference/
730login:Penguin
垢版 |
2018/08/27(月) 07:17:04.40ID:v6HsTceb
ケンカするんじゃなくて質問に答えてあげて
2018/08/27(月) 07:24:21.91ID:tnHT9/AW
>>728
>ockerはVMの代わりとして設計してないので、
>VMの代わりとして使って使いづらい

DockerをVM代わりみたいに、privilege付、init起動で、ある程度まとまった種類のアプリや設定を放り込んでいるんだけど、
使い辛いと感じたことがないんだけどなあ。

むしろ、起動が早くて、commitで保存も簡単(スナップショットみたいにつかえる)
いいことばかりだなあと感じてしまう。

なぜ、DockerをVMがわりにつかうことが厭われるのかわからない。
Dockerの用途も多様化したということではないのかな。
2018/08/27(月) 07:25:15.57ID:tnHT9/AW
>>729
2016年の記事ということで、やはり古さを感じてしまう。
2018/08/27(月) 07:54:20.21ID:AQUn+gMw
>>731
privilege使わないといけない。
init起動しないといけない。
commitしないといけない
ほらね。いろいろと面倒なことをしてるw
2018/08/27(月) 07:55:15.76ID:AQUn+gMw
>>731
> なぜ、DockerをVMがわりにつかうことが厭われるのかわからない。
VMの代りにとして設計されてないんだから
間違った使い方で文句言うなって話。
間違った使い方するなら、苦労するのが普通
2018/08/27(月) 07:55:42.55ID:AQUn+gMw
>>732
古い=枯れた
間違いという意味にはならない
2018/08/27(月) 08:13:06.82ID:xEtA2I7V
本日のドッガイジのID:AQUn+gMw
2018/08/27(月) 08:25:34.94ID:t1jqcV7J
もう自分でchrootしろよ。
738login:Penguin
垢版 |
2018/08/27(月) 08:39:43.35ID:Fczga4WV
>>733
全く面倒でない。
簡単すぎる。
739login:Penguin
垢版 |
2018/08/27(月) 08:42:01.71ID:Fczga4WV
>>734
誰も文句言っていない。
頭がかつてのままで化石になっているのではないか。
日進月歩なのがITの分野なので、
旧来の考えにトラワレテハ駄目だと思う。
2018/08/27(月) 10:26:42.68ID:xk7mviwh
基地外の相手しないでくれよ
誰も得しないから
2018/08/27(月) 11:00:56.93ID:OX1WvhBa
ユーザー名前空間って特権のないプロセスでも新しいの作れなかったっけ?
manにも出来るように書いてあるような気がするんだけど今$ unshare --user試したらOperation not permittedで出来ない(´・ω・`)
なんか記憶違い操作違いしてんのかな
2018/08/27(月) 14:21:38.79ID:Y3n+KmkC
FireFoxでudemyが見れない
どうしたらいい?
2018/08/27(月) 17:04:57.78ID:tJBHboUz
日進月歩だろうが五十歩百歩だろうがdockerは一生vmになれない
2018/08/27(月) 17:08:17.04ID:cFQ4rGUU
windows10搭載のPCの外付けHDDにlubuntuをインストールしたいのですが
windows10側からファイルが見える形になるようにインストールすることってできます?
2018/08/27(月) 17:34:53.14ID:skqvZ5at
出来ないことはないけどやめたほうがいいです
LinuxからWindowsのファイルを見ることは出来る
2018/08/27(月) 17:39:36.74ID:JFnlOVVh
>>745
Windowsからも読み書き出来るよ。
2018/08/27(月) 17:41:14.11ID:6fQ85wF1
>>744
標準にext4でインストールすれば
WindowsからExt2Fsdを使って簡単にマウントできますよ
2018/08/27(月) 17:51:54.84ID:skqvZ5at
>>746
だから出来ないことはないって書いてあるじゃん
日本語読めないのか?
2018/08/27(月) 18:01:29.32ID:APhO6zko
>>748
何でそんなに興奮してるの?
2018/08/27(月) 18:15:04.21ID:zUsb93wa
>>749
普通の人とは違う基地はこれが普通の状態
2018/08/27(月) 18:33:12.04ID:tJBHboUz
おまえらってほんとにwindowsが好きなんだな
win上でlinux動かしてるけど共有フォルダ以外NTFSに興味ない
2018/08/27(月) 18:40:21.88ID:6fQ85wF1
> win上でlinux動かしてるけど共有フォルダ以外NTFSに興味ない
そういうやつに話を聞いてもまともな答えは返ってこないだろうな
2018/08/27(月) 18:46:21.82ID:tJBHboUz
そりゃwindows板じゃないからな
2018/08/27(月) 19:37:43.81ID:6fQ85wF1
なるほど、だからまともな答えをしないと。
そういういことです。まともな回答をしないわけなんですよ
2018/08/27(月) 20:15:10.59ID:tnHT9/AW
>>743
VMにはなれないのはわかるけど、
Dockerコンテナは、VMにインストールしたLinuxみたいには使えるよね。
それで充分なんです。
2018/08/27(月) 21:05:21.52ID:qK807NVH
つまり>>755はVMもDockerもまともに使えない子ってオチでした。おしまい。
2018/08/28(火) 01:54:08.36ID:PWeqc2S0
virtualboxをヘッドレスで起動したらええやん
758login:Penguin
垢版 |
2018/08/28(火) 03:02:23.89ID:k16kvdVe
macbookのデザインに一目惚れしlinuxとのデュアルブートさせたいなと思ってるのですがやはり一般的に推奨されていないのでしょうか キーボードの問題とかで
2018/08/28(火) 04:03:06.80ID:zCp55Fkz
今のMacBookって製品としてそこまで魅力的じゃなくね

一昔前は「一番軽くて薄い」ノートだったから良かったが
2018/08/28(火) 07:37:59.36ID:lIA1DNAP
virtualboxしか使ったことないがdockerってUbuntuのbashだけ実行みたいなのができるのか
boxで設計書書いてvagrantで手軽にVMの作成破棄ができるとか大した便利さだな
2018/08/28(火) 07:56:11.20ID:s5hKN75D
bashで
/data/user_abc/data/*
/data/user_xyz/data/*
...
/data/user_123/data/*

のデータを
/backup/user_abc/data/
/backup/user_xyz/data/
/backup/user_123/data/
にコピーしたいのですが、

対象のユーザのリストは
user_abc
user_xyz
このような感じでテキストファイルuserlist.txtであります(lsで出力されたリストでは無いです)

catか、echoで1行ずつ取ったユーザ名にxargsをくっつけるのでしょうか?
さすがにワンライナーにならずに、for文などと組み合わせるのでしょうか?
762login:Penguin
垢版 |
2018/08/28(火) 08:06:18.97ID:FfcCcPQk
>>761
while read
2018/08/28(火) 08:34:22.48ID:Jx8NFK7z
>>761
xargs -I{} cp -a /home/{}/data/ /backup/{}/data/ < userlist.txt
2018/08/28(火) 11:46:47.20ID:1xGkm9av
>>758
WindowsとLinuxでトリプルブートしている人をたまにみる。
でも、Linuxで動作確認しなくてはいけないプログラムがあるとかでないなら、
そのままmacOSを使ったらどうだろう。
UbuntuのリポジトリにあるようなOSSなら、そのほとんどがmacOSでも動作する。
macにgnomeやkdeをインストールしたことがあるけど動作した。
gnu系ツールをインストールできるので、
どちらかというとCLIの利用が多いタイプなら、Linuxとほぼ変わらない。
bsd系のコマンドオプションの違いに、最初はイラっとするかもしれないけど。
2018/08/29(水) 09:28:56.40ID:aEHPkucs
Windows10・WSL・Ubuntu16.04 で、Windows側の日本語・UTF-8 ファイルをgrep して、
xargs, echo すると、バグる

grep -i csv ./* 2>/dev/null | head -n 1
出力 ./test13-2.rb:require 'csv'

grep -i csv ./* 2>/dev/null | head -n 1 | xargs -I {} echo "xyz{}ab"
出力 abz./test13-2.rb:require csv

echo で、{} の後ろの文字ab が、先頭のxy の部分に上書きされる。
それに、csvの両端の、シングルクォーテーションも消えた

xargsで、日本語をechoする際、{}の後ろに文字を書くと、バグるのかな?
後ろのabをなくすと、上書きされないけど、
csvの両端の、シングルクォーテーションは消えたまま

$ grep -i csv ./* 2>/dev/null | head -n 1 | xargs -I {} echo "xyz{}"
出力 xyz./test13-2.rb:require csv
2018/08/29(水) 10:13:22.27ID:kQMQM3l0
>>765
どうせBOMがついているか改行コードかLANGの問題だろ?
WSLとかWindows側とかは関係ない
767761
垢版 |
2018/08/29(水) 19:09:06.91ID:w8OurJYE
>>762-763
レスありがとうございます!
まだテストしていないのですが、while read lineはコマンドではなく、バッチ内でdoとdone間で回すという感じですね。
whileが条件文、readとlineは・・・引数かなと思ったのですが、何か違いますよね。
複雑な処理が複数あるときは活用してみます。

>>763
ワンライナー好きなので、今回はこっちのほうが使いやすいかなと思います。
{}って便利ですよね、初めて知って驚いて失禁してしまいました。
お二人ともありがとうございます。
2018/08/29(水) 20:47:28.51ID:+NGKU3CN
ラズパイスレから移動してきました。
質問内容は以下のとおりです。

ラズパイでxfsフォーマットされたNASをマウントしようとしていますがうまくいきません。
具体的には、NASのアカウントが"user"、パスワードが"pass"とした場合、

sudo mount -t cifs //192.168.1.100/hoge /mnt/hoge -o username=user,password=pass

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

と出ます。マニュアルを見てもよくわかりませんでした。
username="user"のように""でくくってみたり、``でくくってみたりしても変わりません。
vers=2.1を付けても変わりません。
IPアドレス、パスワードとも合っており、/hoge, /mnt/hoge も存在します。

どのようにすればNASをマウントできるのでしょうか
2018/08/29(水) 21:17:42.62ID:OH3NzRJ8
オプションにvers=1.0, sec=ntlmsspでも追加してみれば?
2018/08/29(水) 22:57:19.71ID:+NGKU3CN
>>769
ありがとうございます。
うまくつながりました。
771login:Penguin
垢版 |
2018/08/29(水) 23:43:14.00ID:baTJfbWO
>>767
ワンライナーでもできるよ
while read i; do cp -a /data/$i/data/ /backup/$i/data/; done < userlist.txt
772login:Penguin
垢版 |
2018/08/29(水) 23:46:17.16ID:baTJfbWO
便利なのは {} じゃなくて -I だろう
773765
垢版 |
2018/08/30(木) 00:00:39.50ID:EPGn4q5l
改行コードが、Linux ではLF、Windows ではCR+LFだから、
CRがあるから行頭に移動するのか

「tr -d \\r」で、CRを削除したら、
正常に「./test13-2.rb:require csv」の前後に、xyz, ab が付くようになった

$ grep -i csv ./* 2>/dev/null | head -n 1 | tr -d \\r | xargs -I {} echo "xyz{}ab"
出力 xyz./test13-2.rb:require csvab

./test13-2.rb:require 'csv'
ただ本来のテキストには、シングルクォーテーションが付いている。
これが消える理由は、わからない
2018/08/30(木) 02:37:17.91ID:8hNC7EaE
よく自分で気付いたね。ご褒美をあげよう。
xargs への入力もクォーティングできるよ。つまり、xargs はクォーティングを解釈する。
解釈しないでほしいならそれも可能だけど。
そういうニーズがあるなら bash の組み込みコマンドの read も調べてみたらいいよ。
2018/08/30(木) 05:59:27.89ID:TlCcrM2G
>>771
行末記号のセミコロンが入っているじゃん。ワンライナーと表現していいの?
そんなん、数百行にわたるスクリプトでも無理やり1行にできるじゃん。
2018/08/30(木) 06:21:31.13ID:WT7yjSzG
>>774
自己解決しました
2018/08/30(木) 06:51:44.82ID:9TJtpHNJ
xargsではaliasや空白付きパスは使えないんだろうか
別にfindを組み合わせる訳じゃないけど
Win製のtxtをLinuxへ持ち込むならlvとnkf使うよろし
メモ帳でのUTF-8保存が罠とかいう初見殺しきらい
778765
垢版 |
2018/08/30(木) 06:52:48.68ID:EPGn4q5l
grep -i csv ./* 2>/dev/null | head -n 1 | tr -d \\r | xargs -I {} echo "xyz{}ab"
出力 xyz./test13-2.rb:require csvab

ここで、sed "s/'/\\\'/g"
で、すべての ' を、\' に置換したら、csv 前後の ' が消えなくなった

grep -i csv ./* 2>/dev/null | head -n 1 | tr -d \\r | sed "s/'/\\\'/g" | xargs -I {} echo "xyz{}ab"
出力 xyz./test13-2.rb:require 'csv'ab

コマンドは、引っ掛けが多すぎる!
Ruby で作った方がよい
2018/08/30(木) 06:59:01.10ID:EPGn4q5l
>>777
xargs -d "\n"

区切り文字を空白から、行末の文字に変更すれば?
780login:Penguin
垢版 |
2018/08/30(木) 07:57:01.70ID:bFoFreKc
>>775
セミコロンなしで書くことに何か価値があるの?
781765
垢版 |
2018/08/30(木) 08:27:10.16ID:EPGn4q5l
Ruby なら、シングルクォーテーションが含まれていても、
式展開 #{ } で、そのまま表示できる

strip は、両端につながる、すべての空白類を削除する

grep -i csv ./* 2>/dev/null | head -n 2 | ruby -n -e 'puts "xyz#{ $_.strip }ab"'

出力
xyz./test13-2.rb:require 'csv'ab
xyz./test13-2.rb:# コロン区切りのCSV 入力ファイルab
2018/08/30(木) 09:01:52.68ID:8hNC7EaE
おかしな人だなあ。
クォーティングと解釈されることが問題なんだからそれを抑止すればいいんじゃないの?
それをする方法は、まさに君が書いた >>779 なんだ。
なぜ気付いてもらえないのか解らない。
2018/08/30(木) 10:21:18.57ID:TlCcrM2G
>>780
ワンライナーに価値を見出したんでしょ、>>771 は。
で、複数行を、行末記号を記述して無理やり1行にまとめただけの構造のアレを、ワンライナーと言えるの?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況