Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
仕事でsedのコードをパパッと書いて使ったら、コードレビューで動かんと言われてしまった。そういえば、同僚はMacで、おれはLinuxだったな。 まぁsedならよくある話なので、しょうがないと思ってawkで同じことをした。awkは比較的もうちょっと互換性がある気がしているからだ(どっこいどっこいな気もする)。 しかしまだ動かないと言う。もう、大絶叫だ。アー。おしまいだ。カスがよ〜〜〜と思いつつ(社会人なので絶叫はしない)、よく調べてみるとmakeの互換性だった。というのも、試しにbrew install makeしてGNU Makeで試してみてくれ、と言ったら、あっさり動いたからである。実はsedもawkも悪くなくて、そいつを呼び出してるmakeに互換性がなかった。ごめんな、お前たち悪くなかったよ。でもそれはそうと互換性はない。 define foobarstring ... endef #
2025年4月入社予定の竹田有真です!今は毎週30分入社前の研修*1を受けています。red-data-tools/red-datastockを題材にRubyGemsの仕組みを学ぶという研修です。クリアコードの須藤さんに説明をしてもらいながら実際に手を動かして学んでいます! はじめに 今回は研修の中で学んだsedコマンドについて説明します。UNIXの時代から、テキスト処理のための強力なツールとして sed(stream editor)は広く使われています。何十年も前に作られたコマンドですが、今でも役に立つケースがあるので学びました。例えば、CIでテキスト変更処理を自動化するときなどに使えます。自動化は開発効率向上につながります!(使用頻度が少ない、使用期間が短いものの自動化に開発時間をかけすぎるのは本末転倒。) 本記事では、sed 誕生の歴史や sed の置換機能、ファイルのバックアップ作成
route127曰く、 sedでバッハの平均律クラヴィーア曲集第1巻(WTC Book I)前奏曲ハ長調(BWV846)を演奏するスクリプト「bash.sed」が発表された(github、はてなブックマーク) Linux上での実行方法
github.blog という記事を今日みて、 echo "::set-output name=hoge::fuga" みたいなことをやってたのがdeprecatedになると知った。以下のドキュメントを参考に置換すればOKとのことだったので、せっかくなのでsedでやってみた。 https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter find .github/workflows -type f | xargs sed -i '' -e 's/echo "::set-output name=\(.*\)::\(.*\)"/echo "\1=\2" >> $GITHUB_OUTPUT/g' ちなみにはじめは sed -i
sedコマンド sed(Stream Editor)は、テキストストリームの編集に特化した強力なツールです。以下にsedコマンドの基本的な構文を示します。 オプション: sedコマンドの挙動を制御するための指定です。例えば、置換を行う場合には-eオプションを使用します。 スクリプト: 実行したいsedコマンドの操作を指定します。置換や削除、追加など、様々な編集操作が可能です。 ファイル名: 処理を行いたいテキストファイルのパスを指定します。省略した場合は標準入力から読み込みます。 以下でもう少し詳しく解説します。 コマンド どういう処理をしたいかをコマンドで指定します。 処理内容の出力、削除、文字列の追加、置換などの処理を行えるコマンドが用意されています。 コマンド説明
はじめにsed コマンドで s 内部コマンドを使って置換処理を行った場合、 条件に該当する文字列が見つからず置換が行われなかったとしても、終了ステータス $? は 0 になります。 実際に置換されたのか?置換されなかったのか?を終了ステータス $? で判定する方法について紹介します。 検証環境$ uname -moi x86_64 MacBookPro11,4 Darwin $ sed --version | head -n 1 sed (GNU sed) 4.8準備サンプルテキストデータ動作確認のために置換処理に利用するテキストファイル ( test.txt ) を作成します。 cat <<EOF >test.txt この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。 EOFsedで置換が行われた場合、行われなかった場合の終了コードを確認sedで 置換が行
作りました。 Go製です。 何で作ったのか、どういう機能があるのか簡単に紹介します。 これまでの課題 sedやgrepには以下の問題があります。 正規表現の記法がPerl互換ではなく、使いにくい sedはmacとLinuxで互換性がなく(BSDとGNUで互換性がない)、OS依存のコードになりやすい これまでその問題を避けるために私はPerlのワンライナーを利用してきました。Perlは正規表現が使いやすく、柔軟な指定もできます。OS依存にもなりにくいです。しかしPerlには以下の問題がありました。 最近のmacやLinuxにはデフォルトでinstallされていないので使いにくい 特にDockerのようなコンテナ環境は顕著 最近は利用例が減っているので敬遠されがち ワンライナー専用ツールではないのでオプション名がわかりにくい そこで以下のツールを求められていると思います。 Perl互換の使いや
シェルでデータ加工するときSEDをよく使いますが、その利用例と覚え書きです、参考になれば sedコマンドはLinux/Unix/BSD/OSXに標準で入っているので、Macの人なら覚えておくと捗るかも(Linuxとは少し違うのでそこは調べてね?) 当方の利用環境がRedhat系Linuxメインですので、微妙に書式が異なることがありますが、大体の書式は同じはずですので、そこは、ご容赦願います (4/15 ちょっと追加…) Windowsでもsed使いたいという人がいたので、ちょっと追記、以下のサイトからWindows用のバイナリを取得すれば、Windowsでもsedが使えます。WSLなどLinux環境を追加したくない、sedのコマンドだけほしい、PowerShellやプロンプトで使えればいいだけという人にお勧めです。 sed for Windows Site 使用例をいろいろ上げてみる '#
sed コマンドで改行コードを置換したり削除したい GNU sed – GNU Project – Free Software Foundation sed コマンドはテキストをフィルタリングしたり操作するためのコマンドです。テキストファイルから入力を受け取り、何らかの操作を実行し結果を出力します。直接操作結果でファイル内容を変更することも可能です。 今回は改行コード(CRLF, LF)を置換するために sed コマンドを使う方法をまとめます。 結論 先に結論だけ知りたい人は以下をどうぞ。 CRLF -> LF sed -i 's/\r//g' input.txt sed -i -z 's/\r\n/\n/g' input.txt LF -> CRLF sed -i 's/$/\r/g' input.txt sed -i -z 's/\n/\r\n/g' input.txt CRLF, L
PowerShellでsedのようにファイル内の文字列置換するには、Get-Content, foreach, Set-Content などを組み合わせて使う必要があります。 sed -i (ファイル内の文字列置換) sed -i と同じようにファイル内の文字列を置換するときは、以下のように複数のコマンドを組み合わせます。 (Get-Content ファイル名) | foreach { $_ -replace "置換前","置換後" } | Set-Content ファイル名 ファイル内が英数字だけなら問題ないですが、日本語が含まれていると文字化けしたまま保存されてしまうので、ファイルのエンコーディングには注意が必要です。 以下は、UTF-8 でエンコードされた text.txt ファイル内の「http:」を「https:」に置換する例です。 $TARGET = "test.txt" $E
はじめに grep コマンドや sed コマンドの -e オプションや -E オプションの意味を勘違いしている例を見かけるので訂正です。 -e オプションは正規表現またはスクリプトを追加指定するためのオプションです -E オプションは拡張正規表現モードを有効にするためのオプションです -e と -E は反対の意味を持つオプションではありません。まったく異なる機能を提供しているオプションです。-e オプションは拡張正規表現でも使うことができます。 -e オプションは正規表現またはスクリプトの追加指定 まず、なぜ -e オプションというものが作られたのか? それはハイフンで始まる正規表現を指定したり、sed スクリプトを組み立てたりするためです。 grep コマンドの話 例えば grep コマンドで -a という文字列を検索したい場合はどうするでしょうか?
今日もiPadでHappyHackingしてますか?どうも魚住です。 大学でLinuxに触れてからCUIの虜になってしまい、コマンドを叩き続けてきました。makeしたりカーネルからコンパイルしてみたり。人並みですが、Linuxを普段使いしてきました。 社会人になってからMacBookを購入し、ターミナルが使えることに感動して今に至ります。このブログも一時期はさくらのVP Sで運用していました。 さて、そんな僕がずっと思っていたのは、「iPadでターミナルが使えいないか」ということでした。SSH接続するためのクライアントアプリはちょくちょく見かけるんですが、僕としてはiPad本体で直接シェルを使いたいと思っていました。 見つけました。ついに見つけましたよ。ローカルで動くシェルが。 今回紹介するのは、「iPad?はぁ?シェルも使えないコンピュータに意味はあるの?」と思っていらっしゃる方もきっと
LinuxやMacでよく使われるコマンドにsedがある。テキストデータの置換処理に使われることが多いコマンドだが、sedコマンドはパターンスペースおよびホールドスペースを理解することで、行の入れ替えといった処理も行うことができる。Opensource.comが「How to use the Linux sed command | Opensource.com」において、sedでパターンスペースおよびホールドスペースを理解するためのわかりやすい解説を行っている。既にsedコマンドで置換処理を行っているユーザーが次のステップとして、sedの使い方を学ぶ方法として参考になる。以下、同記事を参考に、sedコマンドを用いた行の入れ替え処理の方法をまとめてみよう。 Opensource.comの記事では、次のテキストをデータをサンプルとして取り上げている。 元のexample.txt Line one
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く