如何在不使用io重定向的情况下通过单行命令在文件中附加文本?
答案 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
a
附加文字
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
或类似情况下使用此请求的需要。因此,如果这不算在内,您可以使用>>
使输出静音。