タグ付けされた質問 「sed」

Sed(Stream EDitor)は、POSIX環境用のコマンドラインエディターです。sedは、編集スクリプトに従って1つ以上のファイルを処理し、結果を標準出力に書き込みます。Bell Labsで作成され、70年代半ばから存在しています。

7
REエラー:Mac OS Xでの不正なバイトシーケンス
iOSへのクロスコンパイルのためにMac OS X上のMakefile内の文字列を置き換えようとしています。文字列には二重引用符が埋め込まれています。コマンドは次のとおりです。 sed -i "" 's|"iphoneos-cross","llvm-gcc:-O3|"iphoneos-cross","clang:-Os|g' Configure そしてエラーは: sed: RE error: illegal byte sequence 二重引用符、コンマ、ダッシュ、コロンをエスケープしてみました。例えば: sed -i "" 's|\"iphoneos-cross\"\,\"llvm-gcc\:\-O3|\"iphoneos-cross\"\,\"clang\:\-Os|g' Configure 私は問題をデバッグする時間をたっぷりと持っています。誰かがsed不正なバイトシーケンスの位置を印刷する方法を知っていますか?または、誰かが違法なバイトシーケンスを知っていますか?
184 regex  macos  bash  sed 

7
#で始まるすべての行をファイルから削除します
ファイル内のコメントを含むすべての行は、で始まります#。で始まるすべての行(およびそれらの行のみ)を削除するにはどうすればよい#ですか?行#の先頭ではなくを含む他の行は無視する必要があります。
182 bash  sed 

5
最後の100行のログを取得する
ログファイルからログの最後の100行を取得する必要があります。sedコマンドを試しました sed -n -e '100,$p' logfilename このコマンドを変更して、最後の 100行を具体的に取得する方法を教えてください。
164 linux  logging  sed 

22
改行がファイルの最後の文字である場合、それを削除するにはどうすればよいですか?
ファイル内の最後の文字である場合、最後の改行を削除したいファイルがいくつかあります。 od -c私が実行したコマンドがファイルに最後の新しい行を書き込むことを示しています: 0013600 n t > \n 私はsedを使っていくつかのトリックを試しましたが、考えられる最善の方法はそのトリックを行わないことです。 sed -e '$s/\(.*\)\n$/\1/' abc これを行う方法はありますか?
162 linux  perl  shell  awk  sed 

9
ファイルBに表示される行を別のファイルAから削除するにはどうすればよいですか?
メールごとに1行の大きなファイルA(メールで構成)があります。また、別のメールセットを含む別のファイルBがあります。 ファイルAからファイルBに表示されるすべてのアドレスを削除するには、どのコマンドを使用しますか。 したがって、ファイルAに以下が含まれている場合: A B C およびファイルBに含まれるもの: B D E 次に、ファイルAは次のように残します。 A C これがより頻繁に尋ねられる可能性のある質問であることがわかりましたが、区切り文字が正しくないエラーが発生するコマンドをオンラインで1つだけ見つけました。 どんな助けでも大歓迎です!誰かがきっと賢いワンライナーを思いつくでしょうが、私はシェルの専門家ではありません。
160 linux  shell  sed  diff  grep 

1
sedが「 `s 'の不明なオプション」エラーで失敗する
使用しようとしています sed -i -e "s/.*seb.*/ \"$ftp_login_template\"/" $ftp_dir しかし、私はこのエラーを受け取ります: sed: -e expression #1, char 34: unknown option to `s' これは完全に機能するので、なぜなのかわかりません。 sed -i -e "s/.*wbspassword.*/ \"wbspassword\": \"$password\",/" $user_conf 私が間違っていることについてのアイデアはありますか? これは問題でしょうか? ftp_login_template=\${user}:${password}:24:86::\/var\/lib\/clit.${user}\/downloads:\/bin\/false\"
158 sed 

10
まだ存在しない場合にのみ、ファイルに行を追加する
構成ファイルの最後に次の行を追加する必要があります。 include "/configs/projectname.conf" というファイルに lighttpd.conf 私はsedこれを行うために使用することを検討していますが、方法を理解できません。 行がまだ存在しない場合にのみ挿入するにはどうすればよいですか?
157 linux  sed  terminal 

9
テキストファイルの行全体を行番号で置き換える方法
bashスクリプトでファイルの行全体を置き換えたい状況があります。行番号は常に同じであるため、ハードコードされた変数になる可能性があります。 その行の一部の文字列を置き換えようとしているのではなく、その行全体を新しい行に置き換えたいだけです。 これを行うためのbashメソッド(または.shスクリプトにスローできる単純なもの)はありますか?
152 bash  text  replace  sed 

21
コマンドラインから2行ごとに1つにマージする方法は?
次の形式のテキストファイルがあります。1行目は「KEY」、2行目は「VALUE」です。 KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 キーと同じ行に値が必要です。したがって、出力は次のようになります... KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 $またはのような区切り文字を使用できればそれはより良いでしょう,: KEY 4048:1736 string , 3 2つのラインを1つにマージするにはどうすればよいですか?
151 bash  awk  sed  grep 

16
cmd.exeのユーティリティのようなsedはありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 この質問を改善する Windowsコマンドライン(cmd.exe)を使用してプログラムでファイルの内容を編集したい。* nixには、このタスク用のsedがあります。Windowsで有用なネイティブ同等物はありますか?
149 windows  sed  cmd 

21
sedを使用してファイルの最後のn行を削除する方法
ファイルの末尾からn行削除します。これはsedを使用して実行できますか? たとえば、2から4までの行を削除するには、次のように使用できます $ sed '2,4d' file しかし、行番号はわかりません。を使用して最後の行を削除できます $sed $d file しかし、私は最後からn行を削除する方法を知りたいです。sedまたはその他の方法を使用してそれを行う方法を教えてください。
148 linux  bash  shell  sed 

10
スラッシュを含む文字列をsedに置き換える方法は?
ローカルで開発されたVisual Studioプロジェクトがあります。コードファイルはリモートサーバーに展開する必要があります。唯一の問題は、ハードコードされたURLが含まれていることです。 プロジェクトに?page = oneなどのURLが含まれています。リンクがサーバー上で有効であるためには、/ page / oneでなければなりません。 展開前にコードファイルのすべてのURLをsedに置き換えることにしましたが、スラッシュのままです。 私はこれがかなりの解決策ではないことを知っていますが、それは私に多くの時間を節約するのは簡単です。置換する必要がある文字列の総数は10未満です。チェックする必要があるファイルの総数は約30です。 私の状況を説明する例は以下の通りです: 私が使用しているコマンド: sed -f replace.txt < a.txt > b.txt すべての文字列を含むreplace.txt: s/?page=one&/pageone/g s/?page=two&/pagetwo/g s/?page=three&/pagethree/g a.txt: ?page=one& ?page=two& ?page=three& sedコマンドを実行した後のb.txtの内容: pageone pagetwo pagethree b.txtに含めるもの: /page/one /page/two /page/three
147 sed 

9
sedまたはawkで特定の行番号に行を挿入します
8行目にテキストを挿入するために別のスクリプトで変更する必要があるスクリプトファイルがあります。 挿入する文字列:Project_Name=sowstest、というファイルにstart。 awkとsedを使用しようとしましたが、コマンドが文字化けしました。
146 sed  awk 

6
OS Xでのsedによるインプレース編集
OS Xでsedを使用してファイルを編集したいのですが、次のコマンドを使用しています。 sed 's/oldword/newword/' file.txt 出力は端末に送信されます。 file.txtは変更されません。変更は、次のコマンドでfile2.txtに保存されます。 sed 's/oldword/newword/' file1.txt > file2.txt ただし、別のファイルは必要ありません。file1.txtを編集したいだけです。これどうやってするの? -iフラグを試しました。これにより、次のエラーが発生します。 sed: 1: "file1.txt": invalid command code f
142 macos  file-io  sed  in-place 

16
パターンの前に改行を挿入するにはどうすればよいですか?
行内のパターンの前に改行を挿入するにはどうすればよいですか? たとえば、これは正規表現パターンの後ろに改行を挿入します。 sed 's/regex/&\n/g' どうすればパターンの前で同じことができますか? このサンプル入力ファイルの場合、照合するパターンは電話番号です。 some text (012)345-6789 なるはず some text (012)345-6789
138 shell  sed 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.