我有一个文件,每行包含由空格分隔的两个绝对路径文件名。 我只是想将它们中的每一个都放入一个不同的变量中,以便将第二个复制到第一个变量上。 我试过用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