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

4
ソースコード内のread -pのプロンプトで長い文字列を複数の行に分割する方法は?
として実行されるインストールスクリプトを作成しています/bin/sh。 ファイルの入力を求める行があります: read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY この長い行を多くの行に分割して、80文字を超えないようにします。スクリプトのソースコード内の行について話しています。スクリプトの実行時に画面に実際に印刷される行についてではありません! 私が試したもの: フリストアプローチ: read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? …

8
巨大なファイルの改行を含む文字列を置換
メモリー効率のよい方法で文字列を「バイナリ」検索/置換する非行ベースのツールを知っている人はいますか?この質問もご覧ください。 + 2GBのテキストファイルがあり、これと同じように処理したいと思います。 sed -e 's/>\n/>/g' つまり、の後にあるすべての改行を削除したいの>ですが、他の場所ではなく、除外しtr -dます。 このコマンド(同様の質問の答えから得た)は次のように失敗しcouldn't re-allocate memoryます: sed --unbuffered ':a;N;$!ba;s/>\n/>/g' だから、Cに頼らずに他の方法はありますか?私はperlが嫌いですが、この場合は例外を作りたいです:-) データ内に出現しない文字がわからないので、一時的に\n別の文字に置き換えることは可能な限り避けたいものです。 良いアイデアはありますか?

4
sedで行末を検出する方法
を使用して、最後の文字が改行である場合にのみ置換を実行する方法を探していますsed。 例えば: lettersAtEndOfLine 置き換えられますが、これは次のようにはなりません lettersWithCharacterAfter& sedは改行ではうまく機能しないため、次のように単純ではありません。 $ sed -E "s/[a-zA-Z]*\n/replace/" file.txt どうすればこれを達成できますか?


7
「1行目:$ ':\ r':コマンドが見つかりません」と表示されるのはなぜですか?
ラップトップ(DOS)でCygwinを使用しました。私は同僚のスクリプトのコレクションと自分のスクリプトを持っています。私はITの専門家ではなく、Unixに精通していません。私は同僚の構文に従い、いくつかの簡単なことを管理できます。 スクリプトは私の古いラップトップでうまく機能しました。ラップトップを交換し、Cygwinをインストールしました。スクリプトを実行すると、スクリプトが機能しません。ここに私が得るエラーメッセージの一例があります: line 1: $':\r': command not found line 5: syntax error near unexpected token `$'\r'' line 5: `fi これが私のスクリプトの上位5行です : iter=1 if [ -f iter.txt ] then rm ./iter.txt fi 誰かがこの問題を回避する方法を説明してくれませんか?

5
sedが改行文字を削除できない
私はsedかなり長い間使用してきましたが、これは私が出くわした気まぐれで、解決できません。 実際のケースで私の問題を説明させてください。 シーン#1 printf "ls" | xclip -selection clipboard echo "ls" | xclip -selection clipboard 最初のコマンドでは、printf出力をパイプxclipしてクリップボードにコピーします。現在、printfとは異なりecho、デフォルトでは末尾に新しい行を挿入しません。そのため、このコンテンツをターミナルに貼り付けlsても、コピーされたコマンドは自動的に実行されません。 2番目では、最後に新しい行があるので、クリップボードの内容を貼り付けると、クリップボードでコマンドが実行されます。 これは私には望ましくありません。そのため、を使用して改行を削除したかったのですsedが、以下のシーンで説明されているように失敗しました。 シーン#2 echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard クリップボードのコンテンツにはまだ改行が含まれています。端末に貼り付けると、コマンドが自動的に実行されます。 改行文字も削除してみました\r。なだ。ここに非常に重要な/基本的な何かが欠けているようです。
12 sed  newlines 

2
wc <<<“ $ string”がprintf“ $ string”よりも1バイト長い長さを表示するのはなぜですか| トイレ?
偶然にも、wcそれがbashから入力を取得する方法に応じてカウントが異なることがわかりました。 $ s='hello' $ wc -m &lt;&lt;&lt;"$s" 6 $ wc -c &lt;&lt;&lt;"$s" 6 $ printf '%s' "$s" | wc -m 5 $ printf '%s' "$s" | wc -c 5 これは-私見が混乱する-どこかに文書化された行動ですか?wcここで何を数えますか?これは想定される改行ですか?

1
そのようなファイルやディレクトリはありませんが、私はそれを見ることができます!
winSCPを使用してヘッドレスRaspberry PIでPythonスクリプトを実行しようとすると、次のエラーメッセージが表示されます。 Command '"./areadetect_movie_21.py"' failed with return code 127 and error message /usr/bin/env: python : No such file or directory. ターミナルから実行すると、次のようになります。 : No such file or directory. 同じディレクトリで、同じpython shebang、同じ権限、同じユーザーpiを使用して、同様のpythonスクリプトを試してみます。 またls、ファイルを表示できるので、なぜ実行されないのかわかりません。

6
改行で終わらないかもしれない行指向のファイルを読む
/tmp/urlFile各行がURLを表すという名前のファイルがあります。次のようにファイルから読み取ろうとしています: cat "/tmp/urlFile" | while read url do echo $url done 最後の行が改行文字で終わっていない場合、その行は読み取られません。なんでかしら? 新しい行で終わるかどうかに関係なく、すべての行を読み取ることはできますか?

3
BASHとキャリッジリターンの動作
簡単な質問があります。 bash(私は4.4.11を使用しています)が分離されている/プレーンで終わる行/テキストを表示しないのは正常\rですか? この動作を見て、私は少し驚きました: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george しかし、「こんにちは」というテキストはまだそこにあり、どういうわけか「隠されています」: $ echo "$a" |od -w32 -t x1c 0000000 68 65 6c 6c 6f 0d 61 67 61 69 6e 0d 67 65 6f 72 67 65 0d 0a h e l l o \r a g a i n …

2
改行を無視してファイル内のテキストを検索する方法は?
ファイル内の複数行に分割されている可能性のあるテキストを検索したいのですが。改行を無視し、一致する行のスパンを返すgrep。 例えば、私はを検索していてis an example file、それが次のファイルにあることを期待しています: これは、 サンプルファイル。 先頭または末尾のスペースに依存しないようにするには、すべての形式の空白を完全に無視するのが最適です(理想的には、一連の空白を単一のスペースとして扱う)。 非理想的な解決策の1つはtr '\n' ' ' | grep、一致と非一致を区別しますが、一致を表示せず、大きなファイルを適切に処理しません。

4
`mv`で改行をファイル名に追加
それは深刻な問題です。私はいくつかのawkスクリプトをテストし、それらの名前に改行を含むファイルが必要です。 で改行をファイル名に追加することは可能mvですか? 私は今、これを行うことができますtouch: touch "foo bar" タッチで、コピーと貼り付けごとに改行文字を追加しました。しかし、私はfooReturnbar自分のシェルで書くことができません。 ファイル名に改行を含めるために、ファイルの名前を変更するにはどうすればよいですか? 2015/06/28を編集; 07:08 pm zsh使用できる改行を追加するには、Alt+Return

7
単語を改行で置き換える方法
次のデータを含むテキストファイルがあり、各行の末尾は|END|です。 T|somthing|something|END|T|something2|something2|END| 私はsed |END|で\n新しい行に置き換えることを試みています。 sed 's/\|END\|/\n/g' test.txt しかし、それは以下のような間違った出力を生成しています: T | s o m e ... しかし、私が欲しいのはこれです: T|somthing|something T|something2|something2 私も試してみましたtr。それもうまくいきませんでした。

4
改行文字を含む文字列を置き換えます
bashシェル、以下のもののような行を持つファイルに first "line" &lt;second&gt;line and so on の1つ以上の出現をに置き換え"line"\n&lt;second&gt;てother characters、毎回取得したいと思います。 first other characters line and so on 両方などの特殊文字で文字列を置換する必要があり、私はそう"と&lt;して改行文字と。 他の回答の間で検索したところsed、コマンドの右側(other characters文字列)の改行は受け入れられるが、左側は受け入れられないことがわかりました。 またはでこの結果を取得する方法(これよりも簡単)はありますか?sedgrep

6
bashで末尾の改行を削除するにはどうすればよいですか?
Perlのように動作するものを探していchompます。私は単に入力を表示するコマンドを探しています。それが改行の場合は最後の文字を差し引いたものです。 $ printf "one\ntwo\n" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done $ printf "one\ntwo" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done (BashとZshでコマンドを置換すると、末尾の改行がすべて削除されますが、末尾の改行を最大1つ削除するものを探しています。)

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