我有一個文件,每行包含由空格分隔的兩個絕對路徑文件名。 我只是想將它們中的每一個都放入一個不同的變量中,以便將第二個複製到第一個變量上。 我試過用sed + regex和變量替換,沒反應。逐行讀取一個文件並每次將兩個字符串存儲到兩個不同的變量中
sed -e 's/(.*)\s(.*)/$2 $1/g' filename
爲了使用再/斌/ CP $行,然後爲每個讀取線...
接下來我搜索這裏,而在bash,但沒有循環似乎正常,只是工作。 在Perl中它會很容易,但在這種情況下我不能使用它。 我必須從bash腳本中執行它...
任何好主意?
感謝
你是正確的/ g是沒有必要的,因爲我在每行只有一個空格,因此只出現一次....... .............然而輸入保持不變................文件由2行組成:1:file1 file2和2:file3 file4 --- jannis – user2355173
@ user2355173:正如給出的那樣,該命令不會更改文件。它將新內容打印到標準輸出。要更改文件,必須指定'-i〜'(如果您的'sed'支持),或者通過'> newfile'將輸出重定向到一個新文件。 – choroba
這工作:sed -e's/\(。* \)\ s \(file2 \)/ \ 2 \ 1 /'libs.txt .......這也適用:..... sed -e's/\(。* \)\ s \(file。\)/ \ 2 \ 1 /'libs.txt ........這也是:.......這不是: ..... sed -e's/\(。* \)\ s \(f。+ \)/ \ 2 \ 1 /'libs.txt – user2355173