粘贴并不返回文件?

时间:2016-08-29 19:02:00

标签: bash shell

我已经拥有的文件(list1.txt):

console.log(x.type.name) // this would be 'TabLink'

我制作的文件

test
for
you

现在当我尝试list2='test2\nfor2\nyou2' echo $list2 > list2.txt 时,它只返回

paste list1.txt list2.txt

我的目标是返回

test test2 for for2 you you2

就像它将\ n视为空格一样,请帮忙。

4 个答案:

答案 0 :(得分:1)

您需要告诉echo解释转义序列,即

echo -e "$list2" > list2.txt

然后,对于一个很好的格式化输出,你可以做类似的事情

paste list1.txt list2.txt | expand -t 15

expand手册说:

  

-t, - tabs = LIST                 使用逗号分隔的显式标签位置列表

答案 1 :(得分:1)

你可以试试这个:

 echo -e $list2 > list2.txt

man echo

- e
 Enable interpretation of the following backslash-escaped
 characters in each STRING:

\a          alert (bell)

\b          backspace

\c          suppress trailing newline

\e          escape 

\f          form feed

\n          new line

\r          carriage return

\t          horizontal tab

\v          vertical tab

\\          backslash

答案 2 :(得分:0)

您可以使用:

Dim BBPic As Workbook
Dim test As Workbook
Set BBPic = Application.Workbooks.Open("\\OtherDrive\Shared\OtherGroup\DailySheet.xlsx")
Set test = ThisWorkbook

BBPic.Sheets("Sheet1").Select
Do Until Application.CalculationState = xlDone: DoEvents: Loop

ActiveSheet.Range("B2:E16").CopyPicture
test.Sheets("Summary").Range("B64").PasteSpecial
Workbooks("DailySheet.xlsx").Close SaveChanges:=False

答案 3 :(得分:0)

查看您的list2.txt文件:

$ cat list2.txt
test2\nfor2\nyou2

echo命令不会将\n解释为换行符。为此,您需要使用-e echo(非便携式)或使用printf(便携式):

$ printf "test2\nfor2\nyou2\n" >list2.txt