將多行輸出轉化為一行輸出

2021-07-13 21:45:17 字數 834 閱讀 4292

1. 採用awk

awk begin'' file

說明:awk預設將記錄分隔符(record separator即rs)設定為\n,此行**將rs設定為eof(檔案結束),也就是把檔案視為乙個記錄,然後通過gsub函式將\n替換成空格,最後輸出。

2. 採用sed

sed ':a ; n;s/\n/ / ; t a ; ' file

說明:sed預設只按行處理,n可以讓其讀入下一行,再對\n進行替換,這樣就可以將兩行並做一行。但是怎麼將所有行並作一行呢?可以採用sed的跳轉功能。:a 在**開始處設定乙個標記a,在**執行到結尾處時利用跳轉命令t a重新跳轉到標號a處,重新執行**,這樣就可以遞迴的將所有行合併成一行。

3. cat file | xargs

說明:這可能是最簡單的一種方式。

this manual page documents the gnu version of xargs. xargs reads argu-

ments from the standard input, delimited by blanks (which can be pro-

tected with double or single quotes or a backslash) or newlines

上面是man手冊對xargs的說明。其實xargs就是對shell命令列引數限制做的乙個擴充套件。

這條命令的含義也很簡單,將file中的內容作為引數傳給x程式

如果用echo作為x程式,則命令為:

cat file | xargs echo

此命令和cat file | xargs 行為一致,因為xargs的預設行為就是列印輸出。

mysql中將一行轉化為多行資料

之前在網上搜尋了很多關於這個問題的解答方式,基本都是使用substring index和mysql.help topic搭配使用,方法沒錯,但是使用後發現執行時間太長,因此就放棄使用網上推薦的方法。可以使用substring index和union all搭配使用 圖1 圖2 將圖1變為圖2,可以這...

將字串轉化為整數輸出。

今天我們來看一道經典面試題 編寫程式實現字串到整數的轉換,例如輸入 12345 輸出整數12345.首先如果我們不想細究其中的各種情況問題,可以用乙個十分簡單粗暴的方法來解決。就是庫中的atoi函式 它是專門將字串轉換成整數的函式。其次最簡單的方法就是通過乙個簡單的迴圈得到結果,但是這個方法並不考慮...

mysql多行合併一行,一行拆分多行

資料 建表語句 drop table if exists 品牌 create table 品牌 id int 0 not null,品牌 varchar 255 character set utf8 collate utf8 general ci null default null engine i...