Help us understand the problem. What is going on with this article?

【VSCode】改行コードをCRLFからLFにする

More than 1 year has passed since last update.

概要

MacとWindowsの両方でコードを書いているときに、Windows側で改行コードがCRLFであることによるエラーが起きてしまうため、全ファイルの改行コードをLFにする必要があった。
最初はファイルは少ししかなかったがファイルが増えてきたのでさすがにめんどくさくなって一撃で置換できるようにした。

利用者に求めること

Windows on bash を使えるようにしておく。

コマンド

LRに置換したいディレクトリで以下を実行する。

find . -type f -print0 | xargs -0 sed -i 's/\r//g'

コマンドの説明

find コマンドで現在のディレクトリを再帰的に走査する。
-type f ではファイルのみ、 -print0 は走査した結果をnull文字区切りにして返却するという指定。

xargs コマンドでは -0 ( --null でも可)を指定することでパイプで渡された文字をnull文字で区切って sed コマンドに渡す。
sed コマンドの -i ( --in-place でも可)ではファイルを直接変するオプション。s/\r//g については以下とのこと。ちなみにsedコマンドでは\nという文字を正規表現で拾うことができないらしいので、s/\r\n/\n/g とはならないことに注意。

「s」コマンドは、デフォルトでは1行の処理で最初に見つけたパターンを置き換えたら終了します。各行に含まれる全てのパターンを置き換えたい場合は、「s」コマンドに「g」オプションを付けて実行します。
@IT【 sed 】コマンド(基礎編その4)

参考

https://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to-lf
https://qiita.com/wnoguchi/items/1b5d18118728b62e50fb
http://x68000.q-e-d.net/~68user/unix/pickup?find
http://www.atmarkit.co.jp/ait/articles/1801/19/news014.html
http://www.atmarkit.co.jp/ait/articles/1610/17/news015.html

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away