Удалите возврат каретки в Unix

В вашем $ inboxtype = .... отсутствует -> get (). Так и должно быть:

$inboxtype =   Messages::where('receiver_id', $user_id)
               ->with('sender')
               ->with(['bookings' => function($query) {
                            $query->with('currency');
                        }])
               ->with('item_address')
               ->orderBy('id','desc')
               ->get();
207
задан devnull 9 July 2013 в 20:54
поделиться

6 ответов

I'm going to assume you mean carriage returns (CR, "\r", 0x0d) at the ends of lines rather than just blindly within a file (you may have them in the middle of strings for all I know). Using this test file with a CR at the end of the first line only:

$ cat infile
hello
goodbye

$ cat infile | od -c
0000000   h   e   l   l   o  \r  \n   g   o   o   d   b   y   e  \n
0000017

dos2unix is the way to go if it's installed on your system:

$ cat infile | dos2unix -U | od -c
0000000   h   e   l   l   o  \n   g   o   o   d   b   y   e  \n
0000016

If for some reason dos2unix is not available to you, then sed will do it:

$ cat infile | sed 's/\r$//' | od -c
0000000   h   e   l   l   o  \n   g   o   o   d   b   y   e  \n
0000016

If for some reason sed is not available to you, then ed will do it, in a complicated way:

$ echo ',s/\r\n/\n/
> w !cat
> Q' | ed infile 2>/dev/null | od -c
0000000   h   e   l   l   o  \n   g   o   o   d   b   y   e  \n
0000016

If you don't have any of those tools installed on your box, you've got bigger problems than trying to convert files :-)

246
ответ дан 23 November 2019 в 04:42
поделиться

sed -i s/\r// or somesuch; see man sed or the wealth of information available on the web regarding use of sed.

One thing to point out is the precise meaning of "carriage return" in the above; if you truly mean the single control character "carriage return", then the pattern above is correct. If you meant, more generally, CRLF (carriage return and a line feed, which is how line feeds are implemented under Windows), then you probably want to replace \r\n instead. Bare line feeds (newline) in Linux/Unix are \n.

7
ответ дан 23 November 2019 в 04:42
поделиться

There's a utility called dos2unix that exists on many systems, and can be easily installed on most.

27
ответ дан 23 November 2019 в 04:42
поделиться

Старая школа:

tr -d '\r' < filewithcarriagereturns > filewithoutcarriagereturns
37
ответ дан 23 November 2019 в 04:42
поделиться
tr -d '\r' < infile > outfile

См. tr (1)

219
ответ дан 23 November 2019 в 04:42
поделиться

попробуйте это для преобразования dos файла в unix файл:

fromdos file

1
ответ дан 23 November 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: