使用 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 编辑文件 的选项