Command-Line

貓文件名 |切-f2 |head -1 > newfile 包含比預期更多的字元

  • November 12, 2016

當我執行時:

cat filename | cut -f3 | head -1

我得到以下結果:

apple

但是,當我使用以下方法將其保存到文件時:

cat filename | cut -f3 | head -1 > newfile

然後我使用 php 打開它,並使用以下內容:

$variable = file_get_contents("newfile"); 
echo $variable; // PRINTS "apple"

但是當我執行以下操作時,輸出為 6!!!

echo strlen($variable); // PRINTS 6 WHEN I EXPECT 5!
$variable = "apple";
echo $variable; // NOW PRINTS 5

知道如何避免這種情況嗎?我需要在查找函式中使用此變數,由於我無法辨識的額外字元,它不會匹配我的查找。

當我回顯以下內容時:

$variable = file_get_contents("newfile"); 
echo "TEST1";
echo "TEST2";
echo $variable;
echo "TEST3";
echo "TEST4";

我得到以下輸出:

TEST1TEST2apple
TEST3TEST4

所以它必須以某種方式列印一個新行……?!?

確實,那是你的\n,由 strlen 計算

在 PHP 中,您可以rtrim( http://php.net/manual/fr/function.rtrim.php )從字元串的右端刪除所有\n, \t, \r, \0& 。\x0B

引用自:https://unix.stackexchange.com/questions/322842