使用 sed 从 Windows 中的文本文件中删除第一行
delete first line from text file in Windows using sed
我正在处理 PHP 文件,想从文本文件中删除第一行。
这是我的代码:
shell_exec("C:\cygwin64\bin\bash.exe --login -c \"sed '1d' $text_files_path/diffFile.txt\"");
shell_exec("C:\cygwin64\bin\bash.exe --login -c 'sed '1d' $text_files_path/diffFile.txt'");
shell_exec("C:\cygwin64\bin\bash.exe --login -c 'tail -n +2 $text_files_path/diffFile.txt'");
shell_exec("C:\cygwin64\bin\bash.exe --login -c \"tail -n +2 '$text_files_path/diffFile.txt'\"");
但是,没有任何效果!
有什么想法吗?
您的变量应该用双引号引起来以允许 shell 参数扩展。
试试这个:
shell_exec('C:\cygwin64\bin\bash.exe --login -c "sed -i \"1d\" "$text_files_path"/diffFile.txt"');
注意: 我添加了 -i
编辑文件 的选项。
我正在处理 PHP 文件,想从文本文件中删除第一行。
这是我的代码:
shell_exec("C:\cygwin64\bin\bash.exe --login -c \"sed '1d' $text_files_path/diffFile.txt\"");
shell_exec("C:\cygwin64\bin\bash.exe --login -c 'sed '1d' $text_files_path/diffFile.txt'");
shell_exec("C:\cygwin64\bin\bash.exe --login -c 'tail -n +2 $text_files_path/diffFile.txt'");
shell_exec("C:\cygwin64\bin\bash.exe --login -c \"tail -n +2 '$text_files_path/diffFile.txt'\"");
但是,没有任何效果!
有什么想法吗?
您的变量应该用双引号引起来以允许 shell 参数扩展。
试试这个:
shell_exec('C:\cygwin64\bin\bash.exe --login -c "sed -i \"1d\" "$text_files_path"/diffFile.txt"');
注意: 我添加了 -i
编辑文件 的选项。