如何获取输入文本文件的第一行,同时从文本文件中删除该行?
如果我有一个文本文件,/myPathToTheFile.txt
这样
? put returns between paragraphs
? for linebreak add 2 spaces at end
? _italic_ or **bold**
Run Code Online (Sandbox Code Playgroud)
我想将此行作为输出
? put returns between paragraphs
Run Code Online (Sandbox Code Playgroud)
我的文本文件现在应该是这样的
? for linebreak add 2 spaces at end
? _italic_ or **bold*
Run Code Online (Sandbox Code Playgroud)
Jef*_*ler 13
ex -s /myPathToTheFile.txt <<\EX
1p
1d
wq
EX
Run Code Online (Sandbox Code Playgroud)
或者
ex -s /myPathToTheFile.txt <<< 1p$'\n'1d$'\n'wq
Run Code Online (Sandbox Code Playgroud)
或者,少打字:
ed -s /myPathToTheFile.txt <<< $'1\nd\nwq'
Run Code Online (Sandbox Code Playgroud)
ste*_*ver 10
至少对于 GNU sed:
$ cat file
? put returns between paragraphs
? for linebreak add 2 spaces at end
? _italic_ or **bold**
$ sed -i '1{
w /dev/stdout
d}' file
? put returns between paragraphs
$ cat file
? for linebreak add 2 spaces at end
? _italic_ or **bold**
Run Code Online (Sandbox Code Playgroud)
使用 GNU sed 可以将其编写为单行
sed -i -e '1 {w /dev/stdout' -e 'd}' file
Run Code Online (Sandbox Code Playgroud)
假设您要求使用 shell 脚本,这将执行您的要求:
NAME=$1
head -n 1 $NAME
sed -i '1d' $NAME
Run Code Online (Sandbox Code Playgroud)
小智 5
sed -ne '1p' -e '1!s/^//w temp_file' yourfile && mv temp_file yourfile
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
612 次 |
最近记录: |