在不使用io重定向的情况下,从命令行将文本附加到文件

时间:2011-01-09 15:34:47

标签: linux command-line file-io

如何在不使用io重定向的情况下通过单行命令在文件中附加文本?

4 个答案:

答案 0 :(得分:60)

如果您不介意使用sed,那么

$ cat test 
this is line 1
$ sed -i '$ a\this is line 2 without redirection' test 
$ cat test 
this is line 1
this is line 2 without redirection

由于文档可能需要一段时间才能完成,因此有一些解释:

  • -i表示就地转换,因此所有更改都将发生在您指定的文件中
  • $用于指定最后一行
  • a表示在
  • 之后添加一行
  • \仅用作分隔符

答案 1 :(得分:5)

如果您只是想亲自动手,那么sed答案将对您有用。如果相反,文本在文件中(比如file1.txt和file2.txt):

使用Perl:

perl -e 'open(OUT, ">>", "outfile.txt"); print OUT while (<>);' file*.txt

N.B。虽然>>可能看起来像重定向,但它只是文件打开模式,在这种情况下是“追加”。

答案 2 :(得分:2)

您可以在Ex模式下使用Vim:

ex -sc 'a|BRAVO' -cx file
  1. a附加文字

  2. x保存并关闭

答案 3 :(得分:1)

您可以使用const Main = () => ( <View> <View style={styles.welcomeMsg}> <Text style={styles.welcomeMsg_textTop}>¡Bienvenido a nuestra</Text> <Text style={styles.welcomeMsg_textBottom}>familia mascotera!</Text> <View style={styles.container_input_dni}> <TextInput placeholder="DNI:" placeholderTextColor="#E3A141" underlineColorAndroid="#E3A141" style={styles.input_dni} /> </View> <Link to="/protected" style={styles.navItem_login} underlayColor="#f0f4f7" > <Text style={styles.navItem_login_text}>Protected Page</Text> </Link> </View> <AuthButton /> <View style={styles.nav}> <Link to="/public" style={styles.navItem} underlayColor="#f0f4f7"> <Text>Public Page</Text> </Link> <Link to="/protected" style={styles.navItem} underlayColor="#f0f4f7"> <Text>Protected Page</Text> </Link> <Link to="/TelUtiles" style={styles.navItem_login} underlayColor="#f0f4f7" > <Image source={require("./img/icono-tel.png")} style={{ width: 70, height: 70, margin: 10 }} /> </Link> </View> </View> ); const AuthExample = () => ( <NativeRouter> <View style={styles.container}> <View style={styles.container_logo}> <Image source={require("./img/logo-main.png")} style={styles.logo_img} /> </View> <Switch> <Route exact path="/" component={Main} /> <Route path="/public" component={Public} /> <Route path="/login" component={Login} /> <Route path="/TelUtiles" component={TelUtiles} /> <PrivateRoute path="/protected" component={Protected} /> </Switch> </View> </NativeRouter> ); 的{​​{1}}功能:

--append

或更短

tee

我认为不重定向(cat file01.txt | tee --append bothFiles.txt cat file02.txt | tee --append bothFiles.txt )的请求是出于在cat file01.txt file02.txt | tee --append bothFiles.txt 或类似情况下使用此请求的需要。因此,如果这不算在内,您可以使用>>使输出静音。